我正在尝试转换这段代码,而不是保存PDF副本,而是将单个工作表保存为Excel工作簿。我曾尝试将Export as fixed format更改为xlsm,但它似乎有一个运行时错误。非常新,但任何帮助都将不胜感激。
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发布于 2020-01-24 20:39:08
.ExportAsFixedFormat方法不支持导出到excel文件格式as per the documentation
您最可能寻找的操作是.move。如果未指定要移动的位置,则将使用移动的工作表创建新工作簿。然后,您可以使用workbooks(Workbooks.count)访问最新创建的工作簿。参见下面的示例代码:
Dim wb As Workbook
ActiveSheet.Move
Set wb = Workbooks(Workbooks.Count)
wb.SaveAs Filename:="yournamehere", FileFormat:=xlOpenXMLWorkbookMacroEnabled 'etc...请注意,当对工作簿中的最后一个剩余或唯一的工作表执行此操作时,将抛出错误。有关.move method的更多信息,请参阅链接。对于使用see here的文件格式。
此外,当移动工作表时,工作表上的所有VBA代码都将被拖过,但与工作簿相关的模块不会。因此,当工作表上有任何代码时,尝试将其保存为xlsm以外的任何内容都将导致提示或错误。
https://stackoverflow.com/questions/59896196
复制相似问题