Экспорт книги MS Excel 2003 в PDF через VBA

У меня есть книга Excel 2003, содержащая макрос для копирования определенных листов в новую книгу, а затем сохранения и закрытия новой книги. Он делает это несколько десятков раз, каждый раз выбирая немного разные листы.

Я хотел бы добавить в макрос дополнительный шаг для экспорта электронных таблиц вторичных книг в PDF. Очевидный способ сделать это - использовать PDF-принтер и встроенную функцию печати Excel, но большинство PDF-принтеров перед завершением работы предоставляют диалоговое окно «Сохранить как ...». Очевидно, что вводить это индивидуально для семидесяти с лишним случаев не хватает привлекательности, поэтому я хотел бы что-то, что позволило бы мне установить его заранее (возможно, «Использовать имя файла, который я печатаю, минус его расширение»), а затем просто выберите параметры по умолчанию.

Есть идеи для бесплатного принтера PDF, который делает это? Или подходящая альтернатива?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
Включение UTF-8 в jsPDF с помощью Angular
Включение UTF-8 в jsPDF с помощью Angular
Привет, разработчики, я предполагаю, что вы уже знаете, как экспортировать pdf через jsPDF. Если ответ отрицательный, то вы можете ознакомиться с моей...
3
0
10 948
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Это может помочь: http://www.pdf995.com

Одна из функций - «Три варианта автоматического имени для обхода диалогового окна« Сохранить как »».

Ответ принят как подходящий

Office 2007 позволяет это. Я нашел PDF создатель хорошим, VBA включен в файлы примеров, и слышал, что CutePDF тоже хорош. PDFCreator и CutePDF бесплатны.

Как развитие (мудрого) ответа от Рему, и поскольку это тоже помогло мне в моей проблеме.

Я выбираю PDF создатель (поскольку он у меня уже был установлен), и в итоге я использовал следующее:

Sub PDF_Print() 
    Dim p 
    p = ActivePrinter 
    ActivePrinter = "PDFCreator" 
    ActiveDocument.PrintOut 
    ActivePrinter = p 
End Sub 

Работает как шарм

Другие вопросы по теме