我正在尝试编写一个小函数,它接受 Excel 中的文件路径(保存工作簿的位置)、目标路径(保存 pdf 的位置)和一串选项卡名称(以竖线 (|) 分隔)。
该函数的用户不必输入一串选项卡名称(它是可选的),如果不需要,我想选择所有可见的选项卡并打印它们。如果用户在单独的工作表中有 50 个图表并且不想编写类似“Chart1|Chart2|....”的字符串,就会出现这种情况。
Code:
For Each WSO.Name In WBO.Worksheets
strSheets = strSheets & WSO.Name & "|"
Next WSO
strSheets = Left(strSheets, Len(strSheets) - 1)
arraySheets() = Split(strSheets, "|")
WBO.Sheets(arraySheets()).Select
WBO.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
strFilePath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
For Each 循环有两个问题:它不抓取任何工作表,例如“Chart1”,它只抓取诸如“Sheet1”之类的工作表。此外,它还会抓取隐藏的工作表,因此当我尝试选择所有工作表时,我会收到越界错误。
我不知道图表工作表的引用是否与常规工作表不同,也不知道为什么还选择隐藏工作表。
Use WBO.Sheets
代替WBO.Worksheets
在循环。
验证一下WSO.Visible = xlSheetVisible
过滤掉隐藏的工作表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)