excel - 将多张工作表导出为 PDF 并获得运行时错误 VBA
问题描述
每次执行宏时,我都会收到“(2147024773)8007007b”的运行时错误,我不知道我做错了什么。有关如何解决此问题的任何提示?
Dim wsA As Worksheet
Set wsA = ActiveSheet
Sheets("Main_Page").Activate
ActiveSheet.Range("A01:F30").Select
Sheets("Sheet3").Activate
ActiveSheet.Range("A01:B6").Select
Sheets(Array("Sheet1", "Sheet3")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & strFilename & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
解决方案
我没有看到您创建变量并为其分配值,您可以试试这个。也尽量避免选择和激活。
Sub SaveMultipleSheetsAsPDF()
Dim strFilename As String
Dim sht1 As Range
Dim sht3 As Range
Set sht1 = Worksheets("Main_Page").Range("A1:F30")
Set sht3 = Worksheets("Sheet3").Range("A1:B6")
strFilename = "mySheets"
sht1.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & strFilename & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
sht3.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & strFilename & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
推荐阅读
- c++ - 在 C++17 之前存在 if 语句中的初始化?
- c# - Automapper - 项目内的一些静态类?
- visual-studio-code - VSCode 将项目转换为 4 个空格
- sql - SQL Server - 通过确切的日期+时间检查给定的日期+时间是否在两个日期时间变量之间
- c++ - Arm Compute Library - Canny Edge 从导入的 opencv 图像返回不可用的数据
- swift - 修复类似三元的 if-else 块中的错误
- dynamics-crm - 如何使用 Apache Olingo 从 Microsoft Dynamics 扩展 OptionSet 数据?
- javascript - 错误类型错误:_co.onClk 不是函数 angular6
- html - 在导航栏上方显示引导内容
- php - 在codeigniter中显示ajax请求后的数据