【问题标题】:Change Existing Macro to Print to PDF instead将现有宏更改为打印为 PDF
【发布时间】:2016-12-14 17:36:27
【问题描述】:

我是 VBA 新手,不知道如何完成我想要的。

谁能告诉我如何将下面的宏打印为 PDF 而不是默认打印机?

Sub PRINTMULTIPACKS()
'
' PRINTMULTIPACKS Macro
'

'
ActiveSheet.Unprotect
ActiveSheet.Range("$C$13:$D$22").AutoFilter Field:=1, Criteria1:="<>"
Sheets("EXPORT TO VENDOR MULTIPLE AREAS").Select
ActiveSheet.Unprotect
ActiveSheet.Range("$A$11:$AD$261").AutoFilter Field:=3, Criteria1:="<>"
Sheets("FIXTURE SCHEDULE").Select
ActiveSheet.Unprotect
ActiveSheet.Range("$A$4:$S$874").AutoFilter Field:=17, Criteria1:="<>"

Sheets("COVER MULTIPLE AREAS").Select
Range("D10").Select
Sheets(Array("COVER MULTIPLE AREAS", "EXPORT TO VENDOR MULTIPLE AREAS")).Select
Sheets("COVER MULTIPLE AREAS").Activate
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("FIXTURE SCHEDULE").Select
ActiveSheet.Range("$A$4:$S$874").AutoFilter Field:=17
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True

Sheets("EXPORT TO VENDOR MULTIPLE AREAS").Select
ActiveSheet.Range("$A$11:$AD$261").AutoFilter Field:=3
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True
Sheets("COVER MULTIPLE AREAS").Select
ActiveSheet.Range("$C$13:$D$22").AutoFilter Field:=1
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True
Range("C10").Select

结束子

【问题讨论】:

    标签: excel vba pdf macros


    【解决方案1】:

    根据您使用的 Excel 版本,您可以只保存为 PDF。

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\sample\Documents\mySheet.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    

    其中C:\Users.. 是您要保存的路径和文件名。

    【讨论】:

      猜你喜欢
      • 2019-08-06
      • 2015-08-21
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 2014-04-04
      • 2016-09-24
      • 2013-05-29
      相关资源
      最近更新 更多