簡體   English   中英

根據圖紙名稱僅將Excel VBA中的某些圖紙動態保存為PDF

[英]Dynamic saving to PDF only certain Sheets in Excel VBA based on sheetname

我有5張紙的Excel工作簿(為簡化起見,我在這里簡化):

'DataMaster'

'CityData S'

'TownData S'

'TownlandData S'

'StreetData S'

有時還有其他工作表/選項卡,但要保存的工作表均帶有“ S”后綴。 這里的“ Datamaster”不需要保存。

我希望使用一個循環將其導出/保存為PDF

1)僅查看名稱中最右邊2個字符為“ S”的工作表。

2)不在乎這些表是3還是10。

3)將導出為PDF,文件名是工作表名稱中的左短語。

因此,出口將是:

CityData.PDF , 
TownData.PDF , 
TownlandData.PDF , 
StreetData.PDF

任何提示/幫助將不勝感激,我只基本導出為PDF代碼。

您可以使用For Each循環遍歷工作簿中的每個工作表。 您可以使用If來測試Right()兩個字符是否匹配。

就像是:

Sub SaveToPDF
    Dim ws as worksheet

    'Loop through worksheets, each worksheet is assigned to variable "ws" declared above:
    For Each ws in ThisWorkbook.Worksheets
        If Right(ws.name, 2) = " S" Then
            'export as pdf
            ws.ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:="C:\" & Left(ws.name, len(ws.name)-2) & ".pdf", _
                Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, _
                OpenAfterPublish:=True
        End If
    Next ws
End Sub

暫無
暫無

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

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