Excel VBA Запазване като (Печат) в PDF

Този урок ще покаже как да запишете / отпечатате в PDF в Excel VBA.

Печат в PDF

Тази проста процедура ще отпечата ActiveSheet в PDF.

123456 Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat Тип: = xlTypePDF, Име на файл: = "demo.pdf", Качество: = xlQualityStandard, _IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueEnd Sub

Създадох и функция с обработка на грешки и т.н., която ще отпечата ActiveSheet в PDF:

12345678910111213141516171819202122232425262728293031323334353637383940 Подпечатване PDF ()Обадете се Save_PDFEnd SubФункция Save_PDF () As Boolean 'Копира листове в нов PDF файл за изпращане по електронна пощаЗатъмнете този лист като низ, ThisFile As String, PathName As StringDim SvAs As StringApplication.ScreenUpdating = False„Вземете име за запазване на файлThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Задайте качество на печатНа грешка възобновяване следващоActiveSheet.PageSetup.PrintQuality = 600Err.ClearПри грешка GoTo 0„Инструктирайте потребителя как да изпращаПри грешка GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Тип: = xlTypePDF, Име на файл: = SvAs, Качество: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueПри грешка GoTo 0Запазване само:MsgBox "Копие на този лист е успешно записано като .pdf файл:" & Chr (13) & Chr (13) & SvAs & _"Прегледайте .pdf документа. Ако документът НЕ изглежда добре, коригирайте параметрите за печат и опитайте отново."Save_PDF = ВярноОтидете до EndMacroRefLibError:MsgBox "Не може да се запази като PDF. Не е намерена референтна библиотека."Save_PDF = FalseEndMacro:Крайна функция

Функцията връща TRUE или FALSE, ако отпечатването в PDF е било успешно или не.

PDF функция за запазване и изпращане по имейл

Тази функция ще запише ActiveSheet като PDF и (по избор) ще прикачи PDF файла към имейл (ако имате инсталиран Outlook):

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 Sub Test_Save_PDF ()Обадете се Send_PDF ("SendEmail")End SubФункция Send_PDF (Незадължително действие As String = "SaveOnly") As Boolean 'Копира листове в нов PDF файл за изпращане по имейлЗатъмнете този лист като низ, ThisFile As String, PathName As StringDim SvAs As StringApplication.ScreenUpdating = False„Вземете име за запазване на файлThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = PathName & "\" & Thissheet & ".pdf"'Задайте качество на печатНа грешка възобновяване следващоActiveSheet.PageSetup.PrintQuality = 600Err.ClearПри грешка GoTo 0„Инструктирайте потребителя как да изпращаПри грешка GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Тип: = xlTypePDF, Име на файл: = SvAs, Качество: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueПри грешка GoTo 0' Изпратете имейлАко action = "SendEmail" ТогаваПри грешка GoTo SaveOnlyApplication.Dialogs (xlDialogSendMail) .ShowПри грешка GoTo 0Отидете до EndMacroКрай АкоЗапазване само:MsgBox "Копие на този лист е успешно записано като .pdf файл:" & Chr (13) & Chr (13) & SvAs & _"Прегледайте .pdf документа. Ако документът НЕ изглежда добре, коригирайте параметрите за печат и опитайте отново."Send_PDF = ВярноОтидете до EndMacroRefLibError:MsgBox "Не може да се запази като PDF. Не е намерена референтна библиотека."Send_PDF = FalseEndMacro:Крайна функция
wave wave wave wave wave