Hol*_*ene 5 pdf microsoft-office make microsoft-word
这个问题的灵感来自于我对 LaTeX 的使用,您通常在其中共享生成的 PDF,而不是源文件。我希望我的.docx
文档是源文件,而 PDF 是要共享的文件。因此,我希望每次保存.docx
文件时都让 MS Word 使用相同的文档名称制作 PDF 。有没有办法获得这种行为?我使用的是 mac,但如果能够在基于 Windows 的计算机上执行此操作,那就太好了。
示例:如果我创建了一个名为 的新文档mydocument.docx
,则 MS Word 会在名为mydocument.pdf
. 每次我更改和保存 .pdf 时,都会保存和覆盖 PDF mydocument.docx
。有点类似make
的动作?
您可以通过覆盖用户从编辑器激活这两个功能时调用的Save
和SaveAs
宏来实现这一点。这应该适用于支持直接另存为 PDF 的所有 Word 版本,即 Microsoft Word 2007 SP2 及更高版本(包括 Word for Mac 2008 及更高版本)。
实现此目的的完整宏如下,将其插入到您的活动模板中,以便它适用于您创建的所有文档。
有一个错误处理程序可以让您知道操作是否失败(很可能是因为您打开的 PDF 被锁定以供查看)。如果在捕获事件时遇到任何问题,您还可以尝试使用应用程序事件代替覆盖。
' Override File -> Save
Public Sub FileSave()
ActiveDocument.Save
SaveActiveDocumentAsPdf
End Sub
' Override File -> Save As...
Public Sub FileSaveAs()
ActiveDocument.SaveAs
SaveActiveDocumentAsPdf
End Sub
Sub SaveActiveDocumentAsPdf()
On Error GoTo Errhandler
If InStrRev(ActiveDocument.FullName, ".") <> 0 Then
Dim strPath As String
strPath = Left(ActiveDocument.FullName, InStrRev(ActiveDocument.FullName, ".") - 1) & ".pdf"
ActiveDocument.SaveAs FileName:=strPath, FileFormat:=wdFormatPDF
End If
On Error GoTo 0
Exit Sub
Errhandler:
MsgBox "There was an error saving a copy of this document as PDF. " & _
"Ensure that the PDF is not open for viewing and that the destination path is writable. Error code: " & Err
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3757 次 |
最近记录: |