Съдържание
В тази статия ще ви покажа как можете да отпечатате всеки документ в 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 за повече публикации и актуализации.