我使用以下代码将活动word文档快速转换为PDF并保存到桌面。它工作得非常好,但是当我之后立即退出文档时,它总是会询问我是否要进行更改,而不应该进行更改。
有没有办法可以阻止它对文档进行这些不可见的更改,以便它立即退出(例如,如果它在导出之前保存)。
Sub PdfToDesktop()
'
'
Dim DeskTop As String
DeskTop = CreateObject("WScript.Shell").SpecialFolders("Desktop")
Dim fileNameOnly As String
Dim fileNameDot As Integer
fileNameDot = InStr(1, ActiveDocument.Name, ".")
fileNameOnly = Left(ActiveDocument.Name, fileNameDot - 1)
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
DeskTop & "\" & fileNameOnly & ".pdf", ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=False
ChangeFileOpenDirectory DeskTop
End Sub
答案 0 :(得分:2)
让代码关闭文档:
ActiveDocument.Close SaveChanges:= False
End Sub
或者在代码末尾再次保存文档:
ActiveDocument.Save
End Sub
将其中任何一项放在最后。
这并不能完全回答您的问题,但会阻止弹出窗口在您关闭文档时出现(通过第一种方法中的代码或第二种方法中的手动方式)。
答案 1 :(得分:0)
我不想保存文档或将其作为PDF生成的一部分关闭,因此我在代码If ActiveDocument.Saved = True Then fileSaved = True
的开头使用此行来存储保存状态,然后在最后保存此行恢复If fileSaved = True Then ActiveDocument.Saved = True