簡體   English   中英

VBA-可以在工作簿中選擇多個工作表嗎?

[英]VBA - Possible to select multiple sheets across workbooks?

我正在嘗試將跨多個工作簿的一系列工作表打印為單個PDF。 我之前將多張紙打印到單個PDF的方式是選擇全部。 因此,我的問題是-是否可以多個打開的工作簿中選擇多個工作表?

從Mutli-WorkBooks復制工作表並將其發布為PDF文件

' Usage:
' PublishRangePDF(Thisworkbook, fileName) : Will Publish the entire Workbook
' PublishRangePDF(AvtiveSheet, fileName) : Will Publish all selected worksheets
' PublishRangePDF(Range("A1:H100"), fileName) : Will Publish Range("A1:H100")


Sub PublishRangePDF(RangeObject As Object, fileName As String, Optional OpenAfterPublish As Boolean = False)
    On Error Resume Next
    RangeObject.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=OpenAfterPublish
    On Error GoTo 0
End Sub

Sub BatchPDF()
    Dim i As Integer, j As Integer
    Dim wb As Workbook
    Dim arrWorkbooks(5)
    Dim ar As Variant

    Set arrWorkbooks(0) = Workbooks("publish-multiple-workbooks-pdf.xlsm")
    arrWorkbooks(1) = Array("Sheet1", 2, "Sheet3", 4)

    Set arrWorkbooks(2) = Workbooks("Dictionary 4.xlsm")
    arrWorkbooks(3) = Array("Current", "Previous", "Previous Pivot")

    Set arrWorkbooks(4) = Workbooks("InkEdit Answer.xlsm")
    arrWorkbooks(5) = Array(1, 2, 3)

    For i = 0 To UBound(arrWorkbooks) Step 2

        If wb Is Nothing Then
            arrWorkbooks(i).Sheets(arrWorkbooks(i + 1)).Copy
            Set wb = ActiveWorkbook
        Else
            arrWorkbooks(i).Sheets(arrWorkbooks(i + 1)).Copy After:=wb.Sheets(wb.Sheets.Count)
        End If

    Next


    PublishRangePDF wb, ThisWorkbook.Path & "\excel-data.pdf"

    wb.Close False
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM