2016-08-02 4 views
0

Я написал небольшой макрос, который берет ежедневный отчет Excel и печатает его на конкретном принтере (печать в формате PDF). Когда я запускаю макрос, я все еще пропускаю последние шаги. Запустив его как есть, мне все равно нужно нажать кнопку «Сохранить», которая появляется, и вам нужно перейти к правильному пути к файлу. Есть ли способ автоматически нажать кнопку сохранения для меня и сохранить файл в правильной папке (как видно из кода ниже)?Печать в PDF с правильным файловым адресом и с правильным именем файла

Sub printToPDF() 

'declare variable for my file path 
Dim filePath As String 

'declare variable for my file name 
Dim fileName As String 

fileName = "Operations_Daily_Outage_Report_" & Format(Date, "yyyy-mm-dd") 
filePath = "M:\Daily_Outage_Report\Active" 

Worksheets("general_report").PageSetup.CenterVertically = False 
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Foxit Reader PDF Printer" 

End Sub 
+0

Является ли это достаточно старой версией Excel, которую вы не можете сохранить только в .pdf? Или есть еще одна причина, по которой вы печатаете драйвер PDF? – Comintern

+2

У вас есть три варианта: https://support.office.com/en-us/article/Save-as-PDF-d85416c5-7d77-4fd6-a216-6f4bf7c7c110 или https://msdn.microsoft.com/en- us/library/windows/desktop/ms644950 (v = vs.85) .aspx или https://msdn.microsoft.com/en-us/library/office/ff821075.aspx – cyboashu

+0

Если я просто сохраню как PDF, могу Я все еще настраивал его, где работает 'PageSetup.CenterVertically = False'? Часть этого - упражнение для меня. – Rivers31334

ответ

1

Я думаю, что каждый пытается дать вам ответы, которые вы можете попробовать. Я не знаю, почему вы не можете просто проверить его и сказать, работает ли он для вас?

Если у вас достаточно новая версия Access (в течение последних 10 лет), то вы должны быть в состоянии использовать встроенный в офис PDF конвертер

Измените эту строку:

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Foxit Reader PDF Printer" 

Для этого:

Worksheets("general_report").ExportAsFixedFormat Type:=xlTypePDF _  
    FileName:=filePath & "\" & fileName Quality:=xlQualityStandard 

Вернись и скажи нам, если это сработает для тебя.

+1

Благодарим за помощь. Дело не в том, что я не могу этого сделать, это более того, что я новичок в этом. И иногда легкие решения для ваших глаз непросты для моего. Мы все на разных уровнях, и приятно учиться как можно больше. Я ценю вашу помощь. – Rivers31334

+0

Рад, что сработало для вас. Наслаждайтесь будущим кодированием! – dbmitch

Смежные вопросы