PDF打印到文件路径VBA

时间:2017-11-15 17:14:22

标签: excel vba

我有以下代码我已经研究过并且已经在我的一本工作簿中工作了。代码的想法是自动将工作表打印为PDF并保存在我选择的目录中,并将其命名为特定单元格的内容。

一切正常,直到我尝试复制到新工作簿(我在测试工作簿中设计为不损坏原始工作簿)然后我得到了

  

运行时错误1004

,调试时突出显示ThisWorkbook.Sheets(Array("sheet 2")).Select。我错过了一些简单的事吗?因为代码在原始工作簿中有效但在我粘贴到新工作簿中的新模块时却没有?对不起,我对此很新!

sub PrintPDFRT()

Sheets("test").Activate
ActiveSheet.UsedRange.Select
Sheets("malbru1").Activate
ActiveSheet.UsedRange.Select
Sheets("sheet 2").Activate
Range("A1:j137").Select

ThisWorkbook.Sheets(Array("sheet 2")).Select
Selection.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="FIle path\" & Range("L7").Value, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 End Sub

1 个答案:

答案 0 :(得分:0)

尝试这样:(没有Array

sub PrintPDFRT()

WorkSheets("test").Activate
ActiveSheet.UsedRange.Select
WorkSheets("malbru1").Activate
ActiveSheet.UsedRange.Select
WorkSheets("sheet 2").Activate
Range("A1:j137").Select

ThisWorkbook.WorkSheets("sheet 2").ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="FIle path\" & Range("L7").Value, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 End Sub