Excel 宏问题

Excel 宏问题

我有一个非常详细且公式繁多的工作簿模板,我每天都会用到它。我最初是在 Excel 2010 中创建的。

我创建了几个宏按钮,可以将工作簿目录中的某些工作表保存为 PDF。

由于某种原因,当我升级到 2013 时,PDF 的宏才有效,如果我手动将 1 张表保存为 PDF,我并没有自己编写宏,而是从某处修改了复制粘贴。

下面是其中一个宏的示例:

Sub PDF_3P()


ThisWorkbook.Sheets(Array("CD 1", "CD 2", "CD 3")).Select

 pdfName = ActiveSheet.Name
    ChDir ActiveWorkbook.Path & "\"
    fileSaveName = ActiveWorkbook.Name

     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fileSaveName _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False

    MsgBox "File Saved " & " " & fileSaveName
End Sub

答案1

这对我适用于 Office 2013

Option Explicit
Sub PDF_3P()
    Dim FileSaveName As String

    ThisWorkbook.Worksheets(Array("CD 1", "CD 2", "CD 3")).Select

    FileSaveName = ActiveWorkbook.Path & "\" & ThisWorkbook.Name

    If FileSaveName <> "False" Then
        With ActiveSheet
            .ExportAsFixedFormat _
             Type:=xlTypePDF, _
             FileName:= _
             FileSaveName, _
             Quality:=xlQualityStandard, _
             IncludeDocProperties:=True, _
             IgnorePrintAreas:=False, _
             OpenAfterPublish:=False
        End With
    End If
End Sub

相关内容