excel - 使用 VBA 代码将 Excel 工作表导出为单独的 pdf

标签 excel ms-access vba

我有一个脚本,我想在 MS Access 中运行,以将后期绑定(bind)的选定工作簿中的所有工作表导出到特定位置的各个 PDF 文件,其中 PDF 文件名是工作表的名称。以下是到目前为止我所拥有的内容,但我无法弄清楚导出代码是什么。我尝试修改 Excel VBA 代码 ( Excel VBA to Export Selected Sheets to PDF ) 来导出,但它在每一步都会返回编译错误。

Dim xls  As Object
Dim wkb  As Object
Dim wks1 As Object
Dim wks2 As Object
Dim wks3 As object
Set xls = CreateObject("Excel.Application")
Set wkb = xls.Workbooks.Open("\\EXCHSVR1\stone\Mold_Books\" & mold_id & "\" & Mid(Mid(strFlpath, InStrRev(strFlpath, "/") + 1), InStrRev(strFlpath, "\") + 1))
Set wks1 = wkb.Worksheets(1)
 'code to export the first worksheet to "C:\test\" & wks1.name
Set wks2 = wkb.Worksheets(2)
 'code to export the second worksheet to "C:\test\" & wks2.name
Set wks3 = wkb.Worksheets(3)
 'code to export the third worksheet to "C:\test\" & wks3.name

最佳答案

根据您的评论,这是您面临的编译错误的一个示例:

enter image description here

发生这种情况是因为 xlTypePDF 是一个 Excel 常量,除非您设置对 Microsoft Excel 对象库的引用,否则 Access 无法识别该常量。

由于您想要使用后期绑定(bind),因此您可能不想将该引用添加到您的 VBA 项目中。在这种情况下,您可以做两件事。

  1. 在 Access 代码中声明常量:Const xlTypePDF As Long = 0 然后您可以继续在代码中的其他位置使用该常量的名称,而不会触发编译错误。
  2. 或者在您的 Access 代码中使用常量的值 (0) 代替其名称。

并且您必须以相同的方式处理其他 Excel 常量,例如 xlQualityStandard

关于excel - 使用 VBA 代码将 Excel 工作表导出为单独的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704032/

相关文章:

php - UTF-8 : successful conversion to iso-8859-1 but not to iso-8859-2

php - 从 Linux 上的 PHP 连接到 MS Access 远程 .mdb 文件

excel - 1004错误(范围类的选择方法失败)

excel - DAX 错误 : Expressions that yield variant data-type cannot be used to define calculated columns

c# - 如何在 closedXml c# 中禁用自动过滤器?

vba - 运行时错误 1004 'Unable to get the PivotFields property of the PivotTable class'

vba - 动态命名范围错误: 'Run-Time Error ' 1004 - Method 'Range' of object '_Worksheet' failed'

Excel 数据验证以另一个单元格值为条件

c# - 如何获取特定 ID 的最后条目

excel - 创建 Excel 宏来填充值