Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Печать готового PDF (любого файла) N количество копий. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Печать готового PDF (любого файла) N количество копий. (Макросы/Sub)
Печать готового PDF (любого файла) N количество копий.
televnoy Дата: Четверг, 25.09.2014, 06:29 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
День добрый уважаемые форумчане :D
Нарыл на забугорном сайте не плохой макрос для печати из под экселя совершенно любого формата файла (главное чтоб тот был зарегистрирован в системе)
Вот сам макрос:
[vba]
Код

Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
           
Public Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
           
Sub testPrint()
Dim printThis
Dim strDir As String
Dim strFile As String
           
strDir = "C:\NewFolder"
strFile = "My.pdf"
printThis = PrintThisDoc(0, strDir & "\" & strFile)
End Sub
[/vba]
А под себя я переделал -
Отдельным модулем эту часть:
[vba]
Код
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
           
Public Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
[/vba]
А оставшуюся часть заключил в цикл (для нужного количество печати):
[vba]
Код
Private Sub CommandButton1_Click()

      If CheckBox1.Value Then
      For i = 1 To TextBox1
      '____________________________
    'Указываем расположение файла      
strDir = Range("b3")
    'Название файла
strFile = Range("c3")
printThis = PrintThisDoc(0, strDir & "\" & strFile)
      '____________________________
       Next
       Else
       End If

'И т.д. и т.п.

       If CheckBox(N).Value Then
       For i = 1 To TextBox1
       '____________________________
      'Указываем расположение файла      
strDir = Range("b(N)")
      'Название файла
strFile = Range("c(N)")
printThis = PrintThisDoc(0, strDir & "\" & strFile)
       '____________________________
       Next
       Else
       End If
            
End Sub
[/vba]
Так вот данный метод - метод цикла тормозит процесс печати, получается файл открывается N-е кол-во раз - заданное в макросе(TextBox1),перед каждой печатью. Чутье мне подсказывает где то зарыта собака в первой части. Помогите пожалуйста.
Каждая часть заключена в цикл для того чтоб не разбиралась , по копиям. Если же весь макрос заключить в цикл то пример печати будет 1,2,3 1,2,3 1,2,3, вместо положенного 1,1,1 2,2,2 3,3,3. Кстати это тоже было бы замечательно осуществить - выбор печати.
К сообщению приложен файл: ForumPrint.xls (71.5 Kb) · test-1-.pdf (79.4 Kb)


О-па! 0_o

Сообщение отредактировал televnoy - Четверг, 25.09.2014, 06:36
 
Ответить
СообщениеДень добрый уважаемые форумчане :D
Нарыл на забугорном сайте не плохой макрос для печати из под экселя совершенно любого формата файла (главное чтоб тот был зарегистрирован в системе)
Вот сам макрос:
[vba]
Код

Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
           
Public Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
           
Sub testPrint()
Dim printThis
Dim strDir As String
Dim strFile As String
           
strDir = "C:\NewFolder"
strFile = "My.pdf"
printThis = PrintThisDoc(0, strDir & "\" & strFile)
End Sub
[/vba]
А под себя я переделал -
Отдельным модулем эту часть:
[vba]
Код
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
           
Public Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
[/vba]
А оставшуюся часть заключил в цикл (для нужного количество печати):
[vba]
Код
Private Sub CommandButton1_Click()

      If CheckBox1.Value Then
      For i = 1 To TextBox1
      '____________________________
    'Указываем расположение файла      
strDir = Range("b3")
    'Название файла
strFile = Range("c3")
printThis = PrintThisDoc(0, strDir & "\" & strFile)
      '____________________________
       Next
       Else
       End If

'И т.д. и т.п.

       If CheckBox(N).Value Then
       For i = 1 To TextBox1
       '____________________________
      'Указываем расположение файла      
strDir = Range("b(N)")
      'Название файла
strFile = Range("c(N)")
printThis = PrintThisDoc(0, strDir & "\" & strFile)
       '____________________________
       Next
       Else
       End If
            
End Sub
[/vba]
Так вот данный метод - метод цикла тормозит процесс печати, получается файл открывается N-е кол-во раз - заданное в макросе(TextBox1),перед каждой печатью. Чутье мне подсказывает где то зарыта собака в первой части. Помогите пожалуйста.
Каждая часть заключена в цикл для того чтоб не разбиралась , по копиям. Если же весь макрос заключить в цикл то пример печати будет 1,2,3 1,2,3 1,2,3, вместо положенного 1,1,1 2,2,2 3,3,3. Кстати это тоже было бы замечательно осуществить - выбор печати.

Автор - televnoy
Дата добавления - 25.09.2014 в 06:29
televnoy Дата: Четверг, 25.09.2014, 10:23 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
В общем надо добиться печать сторонего файла при условии CheckBox, N-ое количество заданное в TextBox


О-па! 0_o

Сообщение отредактировал televnoy - Четверг, 25.09.2014, 10:39
 
Ответить
СообщениеВ общем надо добиться печать сторонего файла при условии CheckBox, N-ое количество заданное в TextBox

Автор - televnoy
Дата добавления - 25.09.2014 в 10:23
Alex_ST Дата: Четверг, 25.09.2014, 10:36 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
А зачем тут Excel и VBA приплетать?
Ставите любой бесплатный PDF-принтер (если его у Вас ещё нет) хоть, например, ОТСЮДА, открываете файл родным для него приложением и печатаете сколько нужно копий на этот принтер.
И никаких проблем.
А предложение открывать в Excel'e файл стороннего приложения и печатать через него - это, извините, операция на гландах через анус.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 25.09.2014, 10:39
 
Ответить
СообщениеА зачем тут Excel и VBA приплетать?
Ставите любой бесплатный PDF-принтер (если его у Вас ещё нет) хоть, например, ОТСЮДА, открываете файл родным для него приложением и печатаете сколько нужно копий на этот принтер.
И никаких проблем.
А предложение открывать в Excel'e файл стороннего приложения и печатать через него - это, извините, операция на гландах через анус.

Автор - Alex_ST
Дата добавления - 25.09.2014 в 10:36
televnoy Дата: Четверг, 25.09.2014, 10:52 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, Около 500 папок, в каждой как минимум по 10-15 файлов. Ежедневно перелопачивать эти папки и каждый открыть и отправить на печать.

Хм, а мне почему то казалось что намного удобнее будет открыть книгу с данными. Проставить галочки требуемых файлов, и отправить их на печать, в требуемом количестве, которое тоже меняется ежедневно.

Изначально файлы экселевские. Которые весят некоторые под 15 МБ напихано в них рисунки, форматы и др(представляете как долго подвисает система). ПДФ-ки весят от 70-100 Кб разница явно ощутима, и так не грузит систему.

А ниже вся таблица которую ползаватель видит, а не перебирает весь проводник то там маленько а говорю около 5000 файлов получается.



О-па! 0_o

Сообщение отредактировал televnoy - Четверг, 25.09.2014, 11:44
 
Ответить
СообщениеAlex_ST, Около 500 папок, в каждой как минимум по 10-15 файлов. Ежедневно перелопачивать эти папки и каждый открыть и отправить на печать.

Хм, а мне почему то казалось что намного удобнее будет открыть книгу с данными. Проставить галочки требуемых файлов, и отправить их на печать, в требуемом количестве, которое тоже меняется ежедневно.

Изначально файлы экселевские. Которые весят некоторые под 15 МБ напихано в них рисунки, форматы и др(представляете как долго подвисает система). ПДФ-ки весят от 70-100 Кб разница явно ощутима, и так не грузит систему.

А ниже вся таблица которую ползаватель видит, а не перебирает весь проводник то там маленько а говорю около 5000 файлов получается.


Автор - televnoy
Дата добавления - 25.09.2014 в 10:52
televnoy Дата: Четверг, 25.09.2014, 10:57 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот это из другого моего проекта переделка... Здесь печатаются листы книги, по условию.
[vba]
Код
If CheckBox1.Value Then
        kk = CInt(TextBox1)
Sheets("Лист1").PrintOut Copies:=kk, Collate:=True, _
         IgnorePrintAreas:=False
   Else
   End If
[/vba]

По аналогии пытался сделать сделать... Не догоню как :(


О-па! 0_o
 
Ответить
СообщениеВот это из другого моего проекта переделка... Здесь печатаются листы книги, по условию.
[vba]
Код
If CheckBox1.Value Then
        kk = CInt(TextBox1)
Sheets("Лист1").PrintOut Copies:=kk, Collate:=True, _
         IgnorePrintAreas:=False
   Else
   End If
[/vba]

По аналогии пытался сделать сделать... Не догоню как :(

Автор - televnoy
Дата добавления - 25.09.2014 в 10:57
televnoy Дата: Четверг, 25.09.2014, 11:33 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, Мне нужен лист задания на печать. Он получился но с тормозом. Один и тот же файл открывается n-ое количество раз, после печать. Вместо того чтоб открыться один раз распечаталось n-ое количество копий.


О-па! 0_o

Сообщение отредактировал televnoy - Четверг, 25.09.2014, 11:48
 
Ответить
СообщениеAlex_ST, Мне нужен лист задания на печать. Он получился но с тормозом. Один и тот же файл открывается n-ое количество раз, после печать. Вместо того чтоб открыться один раз распечаталось n-ое количество копий.

Автор - televnoy
Дата добавления - 25.09.2014 в 11:33
Alex_ST Дата: Четверг, 25.09.2014, 12:52 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
В старт-топике ничего про сотни файлов и директорий сказано не было.
Пример я с работы посмотреть не могу. Собаки-сисадмины не дают.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВ старт-топике ничего про сотни файлов и директорий сказано не было.
Пример я с работы посмотреть не могу. Собаки-сисадмины не дают.

Автор - Alex_ST
Дата добавления - 25.09.2014 в 12:52
televnoy Дата: Пятница, 26.09.2014, 07:11 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, Бывают, бывают собаки-сисадмины =) А я не спрашиваю у них. Куча прог portable стоит. Из за невозможности поставить полнофункционал. Но это пока единственное чем я ограничен.

Ребята и девчата куму дают сисадмины (в хорошем смысле :D ) , пожалуйста примите участие :(


О-па! 0_o
 
Ответить
СообщениеAlex_ST, Бывают, бывают собаки-сисадмины =) А я не спрашиваю у них. Куча прог portable стоит. Из за невозможности поставить полнофункционал. Но это пока единственное чем я ограничен.

Ребята и девчата куму дают сисадмины (в хорошем смысле :D ) , пожалуйста примите участие :(

Автор - televnoy
Дата добавления - 26.09.2014 в 07:11
televnoy Дата: Суббота, 27.09.2014, 20:34 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
День третий.... Помогите решить данную задачу.


О-па! 0_o
 
Ответить
СообщениеДень третий.... Помогите решить данную задачу.

Автор - televnoy
Дата добавления - 27.09.2014 в 20:34
AndreTM Дата: Суббота, 27.09.2014, 21:07 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
День третий.... Помогите решить данную задачу.
надо добиться печать сторонего файла при условии CheckBox, N-ое количество заданное в TextBox
А зачем тут Excel и VBA приплетать?
Около 500 папок, в каждой как минимум по 10-15 файлов. Ежедневно перелопачивать эти папки и каждый открыть и отправить на печать.

VBS (вернее, использование WSH) не помогут?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
День третий.... Помогите решить данную задачу.
надо добиться печать сторонего файла при условии CheckBox, N-ое количество заданное в TextBox
А зачем тут Excel и VBA приплетать?
Около 500 папок, в каждой как минимум по 10-15 файлов. Ежедневно перелопачивать эти папки и каждый открыть и отправить на печать.

VBS (вернее, использование WSH) не помогут?

Автор - AndreTM
Дата добавления - 27.09.2014 в 21:07
televnoy Дата: Воскресенье, 28.09.2014, 01:46 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, :o
Блин, видели бы вы мое выражение лица. Как мое мировоззрение поменялось. И было б нечего, если бы я в начале не отнесся к WSH скептически.
Но при написании простой фразы MsgBox "Hello" в текстовом редакторе и сохранении его в vbs, после запуска я чуть не заревел. Какой я.......
Но это ладно. Зачем приплетать Excel и VBA так как я хоть маленько ориентируюсь в этом. Допустим в Excel есть какой то список файлов напротив CheckBox где задаю да,или нет. Пусть без Excel в VBA UserForm смогу состряпать. И то VBA из под Excel.
Пытался нарыть самоучители или что то вроде этого в инете, но инфы не нашел, а самому тыкатся в Visual Studio 2012, сложновато.
И
Цитата
VBS (вернее, использование WSH) не помогут?

Возможно помогут но как? Я так понял vbs аналогичен vba... Не проще ли доделать уж эту задачку? Тем более она рабочая но тормазнутая. И мне от тормоза надо избавится.


О-па! 0_o
 
Ответить
СообщениеAndreTM, :o
Блин, видели бы вы мое выражение лица. Как мое мировоззрение поменялось. И было б нечего, если бы я в начале не отнесся к WSH скептически.
Но при написании простой фразы MsgBox "Hello" в текстовом редакторе и сохранении его в vbs, после запуска я чуть не заревел. Какой я.......
Но это ладно. Зачем приплетать Excel и VBA так как я хоть маленько ориентируюсь в этом. Допустим в Excel есть какой то список файлов напротив CheckBox где задаю да,или нет. Пусть без Excel в VBA UserForm смогу состряпать. И то VBA из под Excel.
Пытался нарыть самоучители или что то вроде этого в инете, но инфы не нашел, а самому тыкатся в Visual Studio 2012, сложновато.
И
Цитата
VBS (вернее, использование WSH) не помогут?

Возможно помогут но как? Я так понял vbs аналогичен vba... Не проще ли доделать уж эту задачку? Тем более она рабочая но тормазнутая. И мне от тормоза надо избавится.

Автор - televnoy
Дата добавления - 28.09.2014 в 01:46
AndreTM Дата: Воскресенье, 28.09.2014, 09:03 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Возможно помогут но как? Я так понял vbs аналогичен vba... Не проще ли доделать уж эту задачку?
Вы загружаете Excel только для того, чтобы выдать список файлов с чекбоксами, так? Используя WSH, вы можете просто создать свою формочку, со списком файлов, с возможностью их отметить (как - это уж ваше дело - хоть грид с чекбоксами, хоть лист/комбо с мультивыбором, хоть...), а затем оттуда же все обработаете, как вам надо. Ведь из Excel вам все равно, если по уму, придется обращаться к системе (например, опрашивать принтеры через WMI, вызывать внешние проги для печати), так зачем это делать, если можно работать без Офиса вообще? Да может, у меня и Excelя-то нету, а печатать файлы я хочу :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Возможно помогут но как? Я так понял vbs аналогичен vba... Не проще ли доделать уж эту задачку?
Вы загружаете Excel только для того, чтобы выдать список файлов с чекбоксами, так? Используя WSH, вы можете просто создать свою формочку, со списком файлов, с возможностью их отметить (как - это уж ваше дело - хоть грид с чекбоксами, хоть лист/комбо с мультивыбором, хоть...), а затем оттуда же все обработаете, как вам надо. Ведь из Excel вам все равно, если по уму, придется обращаться к системе (например, опрашивать принтеры через WMI, вызывать внешние проги для печати), так зачем это делать, если можно работать без Офиса вообще? Да может, у меня и Excelя-то нету, а печатать файлы я хочу :)

Автор - AndreTM
Дата добавления - 28.09.2014 в 09:03
televnoy Дата: Воскресенье, 28.09.2014, 11:49 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, Вы совершенно правы
Цитата
Вы загружаете Excel только для того, чтобы выдать список файлов с чекбоксами, так?
ТАК!
Я к сожалению пока далек от
Цитата
просто создать свою формочку
На данный момент копаю в сторону Visual_Basic_6.5. Думаю правильно. ДА?


О-па! 0_o
 
Ответить
СообщениеAndreTM, Вы совершенно правы
Цитата
Вы загружаете Excel только для того, чтобы выдать список файлов с чекбоксами, так?
ТАК!
Я к сожалению пока далек от
Цитата
просто создать свою формочку
На данный момент копаю в сторону Visual_Basic_6.5. Думаю правильно. ДА?

Автор - televnoy
Дата добавления - 28.09.2014 в 11:49
AndreTM Дата: Воскресенье, 28.09.2014, 16:12 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
По сути - да.
По идее, достаточно научиться создавать объекты через CreateObject() :)
И просто насоздавать чего-нить из стандартной MSForms. И научиться динамичеси управлять объектами на форме.
Т.е. то, что в IDE вы рисуете ручками (юзерформу и элементы управления) - там нужно делать кодом (ну, если не скомлилить свои библиотеки :) ).
Или если знаете VC (вернее, яву) - то ведь в WSH есть и JS...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеПо сути - да.
По идее, достаточно научиться создавать объекты через CreateObject() :)
И просто насоздавать чего-нить из стандартной MSForms. И научиться динамичеси управлять объектами на форме.
Т.е. то, что в IDE вы рисуете ручками (юзерформу и элементы управления) - там нужно делать кодом (ну, если не скомлилить свои библиотеки :) ).
Или если знаете VC (вернее, яву) - то ведь в WSH есть и JS...

Автор - AndreTM
Дата добавления - 28.09.2014 в 16:12
televnoy Дата: Понедельник, 29.09.2014, 12:05 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, При создании новой формы, выяснилось, что не
Цитата
только для того, чтобы выдать список файлов с чекбоксами
, но на листе своего рода база данных с путями и именами фалов. Так как при изменении имени Listbox вводимым в TextBoх, данные путей так же вводимыми в TextBoх, форма при закрытии и открытии не сохраняет этих данных. Следовательно надо делать какуето базу данных, чтоб форма при открытии подкачивала эти значения с нее. Или работа с реестром, что не одобрят
Цитата
собаки-сисадмины
. Сами формы написаны на ВБА, файл с расширение exe.

В общем в продолжении темы НЕЛЬЗЯ ЛИ ДОДЕЛАТЬ уже существующий, что б в данный момент не лезть пока в дебри программирования. Или же начинать заводить новую тему форума, и сомневаюсь, что следует ее заводить на данном сайте. Ведь это рельно уже вопрос по программированию.


О-па! 0_o
 
Ответить
СообщениеAndreTM, При создании новой формы, выяснилось, что не
Цитата
только для того, чтобы выдать список файлов с чекбоксами
, но на листе своего рода база данных с путями и именами фалов. Так как при изменении имени Listbox вводимым в TextBoх, данные путей так же вводимыми в TextBoх, форма при закрытии и открытии не сохраняет этих данных. Следовательно надо делать какуето базу данных, чтоб форма при открытии подкачивала эти значения с нее. Или работа с реестром, что не одобрят
Цитата
собаки-сисадмины
. Сами формы написаны на ВБА, файл с расширение exe.

В общем в продолжении темы НЕЛЬЗЯ ЛИ ДОДЕЛАТЬ уже существующий, что б в данный момент не лезть пока в дебри программирования. Или же начинать заводить новую тему форума, и сомневаюсь, что следует ее заводить на данном сайте. Ведь это рельно уже вопрос по программированию.

Автор - televnoy
Дата добавления - 29.09.2014 в 12:05
The_Prist Дата: Понедельник, 29.09.2014, 13:05 | Сообщение № 16
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
Как раз 4-ый аргумент Shellexecute предназначен для передачи параметров. 0& - это тоже самое, что NULL. Т.е. ничего не передается. И по сути Вам надо узнать поддерживает ли передачу параметров из командной строки Ваша программа, которая печатает PDF. Если да - в каком виде. И уже тогда передавать кол-во копий в этот аргумент в нужном формате. Правда, т.к. Вы передаете в качестве имени файла документ - то аргументы уже не получится передать. Т.е. по факту если вместо имени документа открывать само приложение - то можно передать какие-то доп.параметры(в том числе и имя файла). В ином случае - нет.
Т.е. за все приходится чем-то платить - в данном случае за возможность печатать не указывая конкретное приложение Вы платите невозможностью указать дополнительные параметры печати.


Errare humanum est, stultum est in errore perseverare
 
Ответить
СообщениеКак раз 4-ый аргумент Shellexecute предназначен для передачи параметров. 0& - это тоже самое, что NULL. Т.е. ничего не передается. И по сути Вам надо узнать поддерживает ли передачу параметров из командной строки Ваша программа, которая печатает PDF. Если да - в каком виде. И уже тогда передавать кол-во копий в этот аргумент в нужном формате. Правда, т.к. Вы передаете в качестве имени файла документ - то аргументы уже не получится передать. Т.е. по факту если вместо имени документа открывать само приложение - то можно передать какие-то доп.параметры(в том числе и имя файла). В ином случае - нет.
Т.е. за все приходится чем-то платить - в данном случае за возможность печатать не указывая конкретное приложение Вы платите невозможностью указать дополнительные параметры печати.

Автор - The_Prist
Дата добавления - 29.09.2014 в 13:05
televnoy Дата: Понедельник, 29.09.2014, 16:44 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 120
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
The_Prist, В общем я так понял это не реализуемо!!!! <_<


О-па! 0_o
 
Ответить
СообщениеThe_Prist, В общем я так понял это не реализуемо!!!! <_<

Автор - televnoy
Дата добавления - 29.09.2014 в 16:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Печать готового PDF (любого файла) N количество копий. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!