Excel批量转成PDF,只转换第一个工作表,求教!4
发布网友
发布时间:2023-10-10 22:03
我来回答
共3个回答
热心网友
时间:2024-12-02 21:32
这代码是你写的吧,是就好办。
你的代码核心是三句:打开文件、导出为PDF、关闭文件:
Set wkBook = Application.Workbooks.Open(vrtSelectedItem, ReadOnly:=True, Password:="")
wkBook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Left(vrtSelectedItem, InStrRev(vrtSelectedItem, ".") - 1) & ".pdf" _
, Quality:=xlQualityMinimum, IncludeDocProperties:=False, IgnorePrintAreas _
:=True, OpenAfterPublish:=False
wkBook.Close , savechanges = False
在打开文件之后,增加下面的语句删除多余工作表既可达到你的目的只导出第一个表:
while wkBook.Sheets.Count>1
wkbook.Sheets(2).Delete
wend追问后面的工作表不能删除,因为第一个表的数据是从第二个工作表里读取过来的。
热心网友
时间:2024-12-02 21:32
wkBook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Left(vrtSelectedItem, InStrRev(vrtSelectedItem, ".") - 1) & ".pdf" _
, Quality:=xlQualityMinimum, IncludeDocProperties:=False, IgnorePrintAreas _
:=True, OpenAfterPublish:=False
这是对整个工作簿进行转换的哟,改一下成为对工作表的就是了!
wkBook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Left(vrtSelectedItem, InStrRev(vrtSelectedItem, ".") - 1) & ".pdf" _
, Quality:=xlQualityMinimum, IncludeDocProperties:=False, IgnorePrintAreas _
:=True, OpenAfterPublish:=False追问转换过程中因为有公式和链接,会提示要不要更新,我希望是不更新,能做到吗。
追答关闭自动更新就是了!
Application.AskToUpdateLinks = False
用完后记得打开!
热心网友
时间:2024-12-02 21:33
不用这样吧,装个adobe acrobat就行拉