单词VBA:为什么我的;导出为pdf,接受所有更改,并另存为;宏是否在错误的时间接受更改?

单词VBA:为什么我的;导出为pdf,接受所有更改,并另存为;宏是否在错误的时间接受更改?,vba,ms-word,Vba,Ms Word,我正试图编写一个宏来保存“[document name]-changes”的.pdf副本,它显示所有跟踪的更改,然后接受所有更改并保存“[document name]-edited”的.docx副本。导出所有作品和文件的过程命名正确,但是.pdf副本已经接受了所有更改,并且没有显示任何更改,即使ActiveDocument.Revisions.AcceptAll在创建.pdf之后才出现。有人知道为什么会这样吗 代码: 干杯找到了解决办法。需要使用SaveAs2另存为PDF,而不是导出。还忘了在文

我正试图编写一个宏来保存“[document name]-changes”的.pdf副本,它显示所有跟踪的更改,然后接受所有更改并保存“[document name]-edited”的.docx副本。导出所有作品和文件的过程命名正确,但是.pdf副本已经接受了所有更改,并且没有显示任何更改,即使ActiveDocument.Revisions.AcceptAll在创建.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