Excel VBA将选定的表导出为PDF [英] Excel VBA to Export Selected Sheets to PDF

查看:1359
本文介绍了Excel VBA将选定的表导出为PDF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下代码将选定的工作表从Excel 2010导出到单个pdf文件...

  ThisWorkbook .Sheets(Array(Sheet1,Sheet2,Sheet3))。选择

ActiveSheet.ExportAsFixedFormat _
类型:= xlTypePDF,_
文件名:= C:\temp.pdf,_
质量:= xlQualityStandard,_
IncludeDocProperties:= True,_
IgnorePrintAreas:= False,_
OpenAfterPublish:= True

我的问题是它只导出第一张表。任何想法?

解决方案

一旦您选择了一组工作表,您可以使用选择 p>

考虑:

  Sub luxation()
ThisWorkbook.Sheets (Array(Sheet1,Sheet2,Sheet3))。选择
Selection.ExportAsFixedFormat _
类型:= xlTypePDF,_
文件名:=C:\TestFolder\\ _
质量:= xlQualityStandard,_
IncludeDocProperties:= True,_
IgnorePrintAreas:= False,_
OpenAfterPublish:= True
结束Sub

编辑#1:



进一步的测试表明,这种技术取决于每个工作表上选择的 单元格组。要获得全面的输出,请使用以下内容:

  Sub Macro1()

表格(Sheet1 )。激活
ActiveSheet.UsedRange.Select
表格(Sheet2)。激活
ActiveSheet.UsedRange.Select
表格(Sheet3)。激活
ActiveSheet.UsedRange.Select

ThisWorkbook.Sheets(Array(Sheet1,Sheet2,Sheet3))。选择
Selection.ExportAsFixedFormat类型:= xlTypePDF,文件名:= _
C:\Users\James\Desktop\pdfmaker.pdf,质量:= xlQualityStandard,_
IncludeDocProperties:= True,IgnorePrintAreas:= False,OpenAfterPublish:= _
True
End Sub


I'm using the following code to export selected sheets from Excel 2010 to a single pdf file...

ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select

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

My problem is that it only exports the first sheet. Any ideas?

解决方案

Once you have Selected a group of sheets, you can use Selection

Consider:

Sub luxation()
    ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
    Selection.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:="C:\TestFolder\temp.pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
End Sub

EDIT#1:

Further testing has reveled that this technique depends on the group of cells selected on each worksheet. To get a comprehensive output, use something like:

Sub Macro1()

   Sheets("Sheet1").Activate
   ActiveSheet.UsedRange.Select
   Sheets("Sheet2").Activate
   ActiveSheet.UsedRange.Select
   Sheets("Sheet3").Activate
   ActiveSheet.UsedRange.Select

   ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
   Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "C:\Users\James\Desktop\pdfmaker.pdf", Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
      True
End Sub

这篇关于Excel VBA将选定的表导出为PDF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆