Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 10 дек 2018, 09:18

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: склеиваем PDF
СообщениеДобавлено: 05 дек 2018, 14:21 
есть 2 папки в которых некоторое количество pdf-файлов (не обязательно одинаковое). есть список какой файл с каким склеивать. как это сделать программно?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: склеиваем PDF
СообщениеДобавлено: 05 дек 2018, 14:40 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 218
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
viewtopic.php?f=18&t=508&start=20&st=0&sk=t&sd=a


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: склеиваем PDF
СообщениеДобавлено: 05 дек 2018, 14:50 
Robink писал(а):
http://visio.getbb.ru/viewtopic.php?f=18&t=508&start=20&st=0&sk=t&sd=a



а можно это сделать с помощью макроса в exсel? чтоб сразу использовать списки с именами файлов


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: склеиваем PDF
СообщениеДобавлено: 05 дек 2018, 15:08 
rws писал(а):
а можно это сделать с помощью макроса в exсel? чтоб сразу использовать списки с именами файлов
в принципе тут не важно из какого приложения запускать этот код!
основной модуль остается без изменений.
Robink в сообщении #4362 писал(а):
Код:
Option Explicit
Declare Function OpenProcess Lib "kernel32" _
                             (ByVal dwDesiredAccess As Long, _
                              ByVal bInheritHandle As Long, _
                              ByVal dwProcessId As Long) As Long
Declare Function GetExitCodeProcess Lib "kernel32" _
                                    (ByVal hProcess As Long, _
                                     lpExitCode As Long) As Long
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STILL_ACTIVE = &H103
Public Sub ShellAndWait(ByVal PathName As String, Optional WindowState)
    Dim hProg As Long
    Dim hProcess As Long, ExitCode As Long
    'fill in the missing parameter and execute the program
    If IsMissing(WindowState) Then WindowState = 1
    hProg = Shell(PathName, WindowState)
    'hProg is a "process ID under Win32. To get the process handle:
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, hProg)
    Do
        'populate Exitcode variable
        GetExitCodeProcess hProcess, ExitCode
        DoEvents
    Loop While ExitCode = STILL_ACTIVE
End Sub
в экселе надо произвести сцепку содержимого строк, разделяя значение пробелом и заменить последний модуль
Код:
Sub MergePDF()
' в переменной s будут храниться пути к документам, значения вытягиваются из ячеек в первом столбце
Dim s As String s = ""
For i = 1 To 10
s = s & Cells(i, 1) & " "
Next
    ShellAndWait "C:\Program Files\gs\gs9.10\bin\gswin64.exe -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=C:\31\out.pdf " & s, vbHide
End Sub
PS количество перебираемых строк (от 1 до 10), путь к экзешнику GhostScript (C:\Program Files\gs\gs9.10\bin\gswin64.exe) и путь к итоговому файлу (C:\31\out.pdf) могут/скорее всего будут отличаться !


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB