我有一个Excel工作簿,它有5个工作表(为了清楚起见,我正在简化):
'DataMaster'
'CityData S'
'TownData S'
'TownlandData S'
'StreetData S'有时会有额外的工作表/制表符,但要保存的工作表都以“S”后缀作为后缀。这里的“数据播音员”不需要保存。
我希望使用以下循环导出/保存到PDF
( 1)只查看名字中最右边2个字符为‘S’的单张。
( 2)不会在意是否有3张或10张这些床单。
3)将导出为PDF,其中文件名为页名中的左词组。
因此,出口将是:
CityData.PDF ,
TownData.PDF ,
TownlandData.PDF ,
StreetData.PDF任何提示/帮助将不胜感激,我只有基本导出到PDF代码。
发布于 2017-04-24 14:38:37
您可以使用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 Subhttps://stackoverflow.com/questions/43590841
复制相似问题