首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PDF宏转换为Excel

将PDF宏转换为Excel
EN

Stack Overflow用户
提问于 2020-01-24 20:12:12
回答 1查看 44关注 0票数 1

我正在尝试转换这段代码,而不是保存PDF副本,而是将单个工作表保存为Excel工作簿。我曾尝试将Export as fixed format更改为xlsm,但它似乎有一个运行时错误。非常新,但任何帮助都将不胜感激。

代码语言:javascript
复制
Sub PDF()

 Dim xWs As Worksheet
 Application.ScreenUpdating = False
 For Each xWs In ThisWorkbook.Worksheets
  If xWs.Visible = True Then
   If xWs.Name <> "HOME" And xWs.Name <> "DATA" Then
       xWs.Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ThisWorkbook.Path & "\PDF P&L\" & Range("G1").Value & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=False, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
   End If
  End If
 Next xWs
 Application.ScreenUpdating = False

End Sub
EN

回答 1

Stack Overflow用户

发布于 2020-01-24 20:39:08

.ExportAsFixedFormat方法不支持导出到excel文件格式as per the documentation

您最可能寻找的操作是.move。如果未指定要移动的位置,则将使用移动的工作表创建新工作簿。然后,您可以使用workbooks(Workbooks.count)访问最新创建的工作簿。参见下面的示例代码:

代码语言:javascript
复制
Dim wb As Workbook

ActiveSheet.Move
Set wb = Workbooks(Workbooks.Count)

wb.SaveAs Filename:="yournamehere", FileFormat:=xlOpenXMLWorkbookMacroEnabled 'etc...

请注意,当对工作簿中的最后一个剩余或唯一的工作表执行此操作时,将抛出错误。有关.move method的更多信息,请参阅链接。对于使用see here的文件格式。

此外,当移动工作表时,工作表上的所有VBA代码都将被拖过,但与工作簿相关的模块不会。因此,当工作表上有任何代码时,尝试将其保存为xlsm以外的任何内容都将导致提示或错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59896196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档