另存为PDF VBA功能问题

时间:2017-07-19 13:22:45

标签: excel vba excel-vba

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

要解决我从一个星期到另一个星期的问题,我需要的文件是pdfs而不是.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多个标签的整个工作簿。

任何建议都表示赞赏。

谢谢,

2 个答案:

答案 0 :(得分:1)

Sub Test()
For Each sht In Sheets
  sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\" & sht.Name & ".pdf"
Next
End Sub

答案 1 :(得分:0)

您需要调用ExportAsFixedFormat方法。

.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Example\" & SheetName & ".pdf"