单词VBA:为什么我的;导出为pdf,接受所有更改,并另存为;宏是否在错误的时间接受更改?
我正试图编写一个宏来保存“[document name]-changes”的.pdf副本,它显示所有跟踪的更改,然后接受所有更改并保存“[document name]-edited”的.docx副本。导出所有作品和文件的过程命名正确,但是.pdf副本已经接受了所有更改,并且没有显示任何更改,即使ActiveDocument.Revisions.AcceptAll在创建.pdf之后才出现。有人知道为什么会这样吗 代码:单词VBA:为什么我的;导出为pdf,接受所有更改,并另存为;宏是否在错误的时间接受更改?,vba,ms-word,Vba,Ms Word,我正试图编写一个宏来保存“[document name]-changes”的.pdf副本,它显示所有跟踪的更改,然后接受所有更改并保存“[document name]-edited”的.docx副本。导出所有作品和文件的过程命名正确,但是.pdf副本已经接受了所有更改,并且没有显示任何更改,即使ActiveDocument.Revisions.AcceptAll在创建.pdf之后才出现。有人知道为什么会这样吗 代码: 干杯找到了解决办法。需要使用SaveAs2另存为PDF,而不是导出。还忘了在文
干杯找到了解决办法。需要使用
SaveAs2
另存为PDF,而不是导出。还忘了在文件名中添加CurrentFolder
,因此默认情况下它直接进入我的文档
Sub ExportAndSave()
Dim CurrentFolder As String
Dim FileName As String
Dim myPath As String
'Store Information About Word File
myPath = ActiveDocument.FullName
CurrentFolder = ActiveDocument.Path & "\"
FileName = Mid(myPath, InStrRev(myPath, "\") + 1, _
InStrRev(myPath, ".") - InStrRev(myPath, "\") - 1)
'Export PDF as [filename]-changes
ActiveDocument.SaveAs2 FileName:=CurrentFolder & FileName & "-changes", _
FileFormat:=wdFormatPDF
'Accept changes and save as [filename]-edited
ActiveDocument.Revisions.AcceptAll
ActiveDocument.SaveAs2 FileName:=CurrentFolder & FileName & "-edited"
End Sub
您真正需要的是:
Sub ExportAndSave()
Dim StrNm As String
With ActiveDocument
StrNm = Split(.FullName, ".doc")(0)
.SaveAs FileName:=StrNm & "-changes.pdf", FileFormat:=wdFormatPDF, AddToRecentFiles:=False
.Revisions.AcceptAll
.SaveAs FileName:=StrNm & "-edited.docx", FileFormat:=wdFormatXMLDocument, AddToRecentFiles:=False
End Sub
如果注释掉
AcceptAll
,您是否看到pdf中的修订?正如建议的那样,您应该传递到您的ExportAsFixedFormat
@GSerg设法添加ExportWithMarkup,但没有错误,但得到了相同的问题。当前代码相同,但在导出格式
行的末尾有,在下一行的项:=wdExportDocumentWithMarkup
line@GSerg把它分类,并把答案贴在下面——为正确的方向而欢呼:)
Sub ExportAndSave()
Dim StrNm As String
With ActiveDocument
StrNm = Split(.FullName, ".doc")(0)
.SaveAs FileName:=StrNm & "-changes.pdf", FileFormat:=wdFormatPDF, AddToRecentFiles:=False
.Revisions.AcceptAll
.SaveAs FileName:=StrNm & "-edited.docx", FileFormat:=wdFormatXMLDocument, AddToRecentFiles:=False
End Sub