【问题标题】:Printing to PDF with correct file path and with correct file name使用正确的文件路径和正确的文件名打印到 PDF
【发布时间】:2017-09-03 00:10:30
【问题描述】:

我编写了一个小宏,它获取每日 Excel 报告并将其打印到特定打印机(打印到 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

【问题讨论】:

  • 这是一个不能保存为 .pdf 的旧版 Excel 吗?还是您通过 PDF 驱动程序打印的其他原因?
  • 如果我只是保存为 PDF,我还能在 PageSetup.CenterVertically = False 工作的地方设置它吗?其中一部分是对我的学习练习。
  • 这是一个简单的换行 - 尝试一下 - 然后回来告诉我们它是否按您想要的方式工作
  • @dbmitch 我认为他说的更多是我应该以不同的方式尝试它,因此单行开关在这里并不适用。我已经在代码中包含了它,所以寻找一个适用于我现有宏的解决方案。

标签: vba excel


【解决方案1】:

我认为每个人都在试图给你答案,你可以尝试一下。我不知道你为什么不能直接测试它并告诉我们它是否适合你?

如果您拥有相当新的 Access 版本(过去 10 年内),那么您应该能够使用内置的 Office PDF 转换器

更改此行:

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

致此:

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

回来告诉我们它是否适合你。

【讨论】:

  • 感谢您的帮助。不是我做不到,更多的是我对此并不陌生。有时对你的眼睛来说简单的解决方案对我来说并不容易。我们都处于不同的水平,尽可能多地学习是件好事。感谢您的帮助。
  • 很高兴为您解决了问题。享受您未来的编码!
猜你喜欢
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 2016-09-20
  • 1970-01-01
相关资源
最近更新 更多