【问题标题】:Having trouble creating PDF from Excel using MSAccess and VBA使用 MSAccess 和 VBA 从 Excel 创建 PDF 时遇到问题
【发布时间】:2019-04-11 18:22:05
【问题描述】:

我在 VBA 中创建了一些代码,用于打开一个 Excel 文件,抓取多张工作表,然后从中创建一个 PDF。该代码第一次工作,然后第二次失败,出现“对象变量或未设置块变量”错误。

这是在一个循环中为每条记录抓取一个文件,但我可以让它一次只做一个并退出函数。即便如此,在关闭该功能然后再次启动它之后,它还是失败了。

PDFName="The file name.pdf"

Set Xl = CreateObject("Excel.Application")

Set XlBook = Xl.Workbooks.Open(MDestDir)

Xl.Visible = True

Set XlSheet = XlBook.Worksheets(MSumName)

XlBook.Worksheets(Array(MSumName, "Technical Effectiveness", "Project 
Participation-Mngmt", "Personal Effectiveness", "Business Effectiveness", 
"Organizational - Management", "Core Values")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
PDFName, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

XlBook.Close True

Xl.Quit

所以...从程序的菜单中,我选择了一个用户/记录,然后单击一个按钮来运行此功能。它工作正常。然后我再次单击该按钮运行它,我得到了错误。

【问题讨论】:

    标签: excel vba ms-access pdf


    【解决方案1】:

    我把整个东西都打出来了,这让我仔细检查了我过去写的代码。我将工作簿对象放在 ActiveSheet 行上,一切都开始工作了。

    xl.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    PDFName, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 2016-01-09
      相关资源
      最近更新 更多