将Excel工作表保存为pdf

将Excel工作表保存为pdf,excel,vba,pdf,Excel,Vba,Pdf,我有一个宏,可以将工作表保存为pdf格式,但它不再工作 With ActiveSheet.PageSetup .CenterHeader = strFile2 .Orientation = xlPortrait .PrintArea = "a1:q21" '.PrintTitleRows = ActiveSheet.Rows(5).Address '.Zoom = False .FitToPagesTall = False .FitToPa

我有一个宏,可以将工作表保存为pdf格式,但它不再工作

With ActiveSheet.PageSetup
    .CenterHeader = strFile2
    .Orientation = xlPortrait
    .PrintArea = "a1:q21"
    '.PrintTitleRows = ActiveSheet.Rows(5).Address
    '.Zoom = False
    .FitToPagesTall = False
    .FitToPagesWide = 1
End With    

ws.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=strFile, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
我试过了

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=OpenPDFAfterCreating
它给出了相同的结果

无效的过程调用或参数


宏在我同事的电脑上工作。

您是否在粘贴的代码片段之外声明了变量?您需要将ws声明为工作表,否则将出现以下问题:

Dim ws as Worksheet
您需要设置ws=ActiveSheet才能使用它,尽管我建议避免使用ActiveSheet,因为它可能会导致问题。更好的办法是:

Set ws = Workbooks("**Name of your workbook**").Worksheets("**Name of worksheet**")

With ws.PageSetup
**code**
End With

希望对您有所帮助。

您好,之前的修改中有注释:D。谢谢你的回答。