Как да печатаме в PDF в Excel VBA : с примери и илюстрации

  • Споделя Това
Hugh West

В тази статия ще ви покажа как можете да отпечатате всеки документ в PDF с помощта на VBA в Excel. Ще използваме ExportAsFixedForma т метод на VBA За тази цел ще разгледам всички параметри на този метод с подходящи примери и илюстрации.

Отпечатване в PDF в Excel VBA (бърз преглед)

Изтегляне на работна тетрадка за практика

Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.

VBA Отпечатване в PDF.xlsm

Въведение в изявлението ExportAsFixedFormat

⧭ Преглед:

Сайтът ExportAsFixedForma т метод на VBA записва всеки даден документ в PDF формат с дадено име с VBA . Това е доста полезен метод за тези, които работят с много работни листове на Excel и ги съхраняват за бъдеща употреба.

⧭ Синтаксис:

Синтаксисът на VBA ExportAsFixedFormat метод е:

 Document.ExportAsFixedFormat Тип, Име на файла, Качество, IncludeDocProperties, IgnorePrintAreas, От, До, OpenAfterPublish 

⧭ Параметри:

Параметър Задължително / по избор Обяснение
Тип Изисква се Използвайте xlTypePDF за PDF файлове или xlTypeXPS за XPS файлове.
Име на файла По избор Името на файла, който искате да запазите. Въведете пълния път на файла тук, ако искате да запазите файла на различен път от този на работната книга.
Качество По избор Използвайте xlQualityStandard за стандартното качество или xlQualityMinimum за минималното качество.
IncludeDocProperties По избор Задайте го като True, за да включите свойствата на документа, или го задайте като False, за да не включите свойствата на документа.
IgnorePrintAreas По избор Задайте True (Вярно), за да игнорирате областите за печат, или False (Невярно), за да не игнорирате областите за печат.
От По избор Началният номер на страницата, от която ще започне записването на документа.
За По избор Задайте го като True, за да включите свойствата на документа, или го задайте като False, за да не включите свойствата на документа.
OpenAfterPublish По избор Задайте го като True (Вярно), за да отворите документа след публикуване, или го задайте като False (Невярно).

Върната стойност:

Той преобразува работните листове на работна книга на Excel като PDF документ и го записва в посочената папка с посоченото име.

5 примера за отпечатване в PDF в Excel VBA с изявлението ExportAsFixedFormat

Нека разгледаме няколко примера за отпечатване на документ в PDF в Excel VBA с ExportAsFixedFormat метод.

Пример 1: Отпечатване в PDF в Excel VBA без зададено име или път

Представяме ви работен лист със записите на книгите на книжарница, наречена "Книжарница Марин".

Нека напишем прост VBA код за конвертиране на работния лист в PDF документ, като не се посочва име или път.

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub 

⧭ Изход:

Изпълнете този код и ще откриете PDF файл със същото име като работната ви книга (име по подразбиране, когато не е посочено име) в същата папка с работната ви книга (папка по подразбиране, когато не е посочен път).

Тук тя е наречена Book1.pdf като името на работната ми книга беше Книга1 .

Прочетете още: Excel VBA: Как да зададете динамично зоната за печат (7 начина)

Пример 2: Отпечатване в PDF формат в Excel VBA със зададени име и път

Сега ще преобразуваме същата работна книга в друг PDF файл, като посочим името и пътя.

Ще запазя PDF файла с името "Martin Bookstore.pdf" по пътя C:\Users\Public\ExcelWIKI на моя компютър. Така че VBA кодът ще бъде:

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub 

⧭ Изход:

Този код ще запише PDF документа в пътя C:\Users\Public\ExcelWIKI на моя компютър с името Martin Bookstore.pdf .

Прочетете още: Как да отпечатате избрана област в Excel (2 примера)

Подобни четива:

  • Как да отпечатваме заглавия в Excel (5 лесни начина)
  • Отпечатване на работен лист с коментари в Excel (5 лесни начина)
  • Как да отпечатате избрани клетки в Excel (2 лесни начина)
  • Центриране на областта за печат в Excel (4 начина)
  • Как да показваме предварителен преглед за печат с Excel VBA (3 макроса)

Пример 3: Отпечатване в PDF в Excel VBA с отваряне на файла след публикуване

Сега ще отпечатаме документа в PDF по такъв начин, че файлът да се отваря, след като бъде публикуван. Трябва да зададем OpenAfterPublish параметър към Истински .

Така че VBA кодът ще бъде,

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub 

⧭ Изход:

Този код ще запише PDF документа в пътя C:\Users\Public\ExcelWIKI на моя компютър с името Martin Bookstore.pdf и отворете файла веднага след публикуването му.

Свързано съдържание: Как да зададете предварителен преглед за печат в Excel (6 опции)

Пример 4: Отпечатване на множество работни листове в множество PDF файлове в Excel VBA

Досега отпечатвахме един работен лист. Този път ще отпечатаме няколко работни листа в няколко PDF файла.

Тук имаме работна книга с 5 работни листове, всеки от които съдържа запис на книгата от определена книжарница.

Този път ще преобразуваме всички работни листове в PDF файлове.

Сайтът VBA кодът ще бъде:

⧭ Код VBA:

 Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Въведете имената на работните листове, които да отпечатате в PDF: ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i EndПод 

⧭ Изход:

Стартирайте кода. В полето за въвеждане ще трябва да въведете имената на работните листове, които да конвертирате в PDF. Тук съм въвел Книжарница Джоузеф, книжарница Морган, книжарница Анджела .

Кликнете върху OK . И ще ги запише като PDF файлове в папката C:\Users\Public\ExcelWIKI .

Прочетете още: Как да отпечатате няколко листа в Excel (7 различни метода)

Пример 5: Разработване на дефинирана от потребителя функция за отпечатване в PDF файл в Excel VBA

Накрая ще ви покажа как можете да разработите функция, дефинирана от потребителя, за отпечатване на всеки работен лист в PDF с Excel. VBA .

Нека разработим функция, наречена PrintToPDF което ще разпечата активния работен лист в PDF файл.

Сайтът VBA кодът ще бъде:

⧭ Код VBA:

 Функция PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" Край на функцията 

⧭ Изход:

Въведете тази функция във всяка клетка на работния лист.

=PrintToPDF()

След това щракнете върху ВЪВЕДЕТЕ . Това ще преобразува активния лист ( Книжарница Мартин тук) в PDF файл в посочената папка.

Прочетете още: Excel VBA: Отпечатване на потребителска форма, за да се побере на страница (2 метода)

Нещата, които трябва да запомните

При разработването на кодовете през повечето време използвахме ActiveSheet обект от VBA . Той връща работния лист, който е активен в този момент в активната работна книга.

Също така понякога използваме свойството ActiveSheet.Name . Връща името на активния работен лист.

Заключение

Това е начинът да отпечатате всеки работен лист в PDF с VBA в Excel. Имате ли някакви въпроси? Не се колебайте да ни попитате. И не забравяйте да посетите нашия сайт ExcelWIKI за повече публикации и актуализации.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.