另存为PDF VBA函数问题

另存为PDF VBA函数问题,vba,excel,Vba,Excel,我做了一个简单的功能,将我所有的标签保存到一个目标文件夹中。然而,在实施了整个流程之后,我意识到这不会每周都起作用 为了解决我一周又一周遇到的问题,我需要文件是PDF而不是.xlsx。我试图通过修改已经存在的函数来解决这个问题,但是,当我打开它生成的PDF时,它们已经“损坏”了,或者Adobe这样说 请参阅下文: Sub SaveFilesInFolder() ' 'This is a function for saving each worksheet as a workbook in a d

我做了一个简单的功能,将我所有的标签保存到一个目标文件夹中。然而,在实施了整个流程之后,我意识到这不会每周都起作用

为了解决我一周又一周遇到的问题,我需要文件是PDF而不是.xlsx。我试图通过修改已经存在的函数来解决这个问题,但是,当我打开它生成的PDF时,它们已经“损坏”了,或者Adobe这样说

请参阅下文:

Sub SaveFilesInFolder()
'
'This is a function for saving each worksheet as a workbook in a destination folder
'

'
    Dim sh As Worksheet
    Dim wb As Workbook

    For Each sh In Worksheets
        SheetName = sh.Name
        sh.Copy

        With ActiveWorkbook
            .SaveAs FileName:="C:\Example\" & SheetName & ".pdf"
            .Close SaveChanges:=True
        End With

    Next sh

End Sub
我知道ExportAsFileFormat,但我很难将其用于包含100多个选项卡的整个工作簿

欢迎提出任何建议

谢谢,

您需要调用该方法


我试图这样做,但一个问题使我不敢去做。它提示我为每个工作表保存一个excel文件。这是可行的,但我需要每个选项卡都是一个单独的PDF文件。感谢您的输入。Abe,它提示一个错误,上面写着“我们找不到任何要打印的内容”。我复制并粘贴了您的代码,并更改了目标文件夹。如果任何选项卡完全为空,您将收到该错误。您可以使用on error resume next来避免它。
.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Example\" & SheetName & ".pdf"
Sub Test()
For Each sht In Sheets
  sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\" & sht.Name & ".pdf"
Next
End Sub