Você pode conseguir isso substituindo as macros Save
e SaveAs
que são chamadas quando o usuário ativa essas duas funções no editor. Isso deve funcionar em todas as versões do Word que suportam salvar diretamente como PDF, que é o Microsoft Word 2007 SP2 e superior (incluindo o Word para Mac 2008 e superior).
A macro completa para obter isso está abaixo, insira-a no modelo ativo para que ela funcione com todos os documentos que você criar.
Existe um manipulador de erro que informa se a operação falhou (provavelmente porque você tem o PDF aberto, que fica bloqueado para visualização). Se houver algum problema na captura dos eventos, você também poderá tentar os eventos do aplicativo no lugar das substituições.
' 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