Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 11-07-2017, 03:14 AM
FionaMcKenzie FionaMcKenzie is offline Saving and creating PDF at once Windows 10 Saving and creating PDF at once Office 2016
Novice
 
Join Date: Oct 2017
Location: Surrey, United Kingdom
Posts: 14
FionaMcKenzie is on a distinguished road
Default

Hi again,

I was hesitant on the whole Save point... There is a BeforeSave but not an AfterSave event in Word. The only way I could think of doing the PDF save after the Save completed was to evoke a Windows change to evoke the WindowsEvent in Word & do the PDF save then. All very, very mucky. So not a solution! It's such a pity there is no AfterSave event!

However, you can override the Word FileSave process.
Note: This means your program cannot have bugs.

If you SaveAs on an existing file to a new file name, you would have to process your PDF save manually when doing so. But this will trap the save when you want to create your PDF backups.

I've written code for you with comments. You can add this to your template, but be careful with Word overrides.

Let me know if it helps you with your PDF save request though.

Kind regards
Fiona

Option Explicit

Public Sub FileSave()

' Note: FileSave overrides Word's FileSave command!

On Error GoTo ErrorHandler

With ActiveDocument

' Check whether it has a path meaning it's been saved before
If .Path = vbNullString Then

' Show the SaveAs dialog
Word.Dialogs(wdDialogFileSaveAs).Show

Else

' Save the document
.Save
End If

' Was the file saved in the SaveAs Dialog
If .Saved = True Then

' You will need ensure only documents based on this template
' are saved as PDF. Save your source document as a *.dotm
' When you create new instances of the template, this code will run
If .AttachedTemplate = ThisDocument Then

' You don't want to save PDFs of the template, just documents
If LCase(Right(.FullName, 5)) = ".docx" Then

' Not sure if you want to check before saving the PDF?
If MsgBox("Would you like to save a PDF copy?", _
vbYesNo, "Save PDF version") = vbYes Then



' It's active already though
.Activate

' Call the procedure you were given to create the PDF
Call PDFSave.SaveAsDocX_PDF

End If
End If
End If
End If
End With

Exit Sub
ErrorHandler:
' Quite crucial if an error occurs!
MsgBox "An error occurred on FileSave!" & vbCr & vbCr & _
Err.Number & " " & Err.Description, vbOKOnly + vbExclamation, "FileSave Error"
Err.Clear
End Sub
Reply With Quote
  #2  
Old 11-07-2017, 04:40 AM
slaycock slaycock is offline Saving and creating PDF at once Windows 7 64bit Saving and creating PDF at once Office 2016
Expert
 
Join Date: Sep 2013
Posts: 255
slaycock is on a distinguished road
Default

A further solution, which might be just as functional, is to just save the file with a suitable timestamp. The macro below should be called from whichever save function of word that you trap/redirect.

Code:
Sub save_doc_with_pdf_timestamp(doc As Document)
   
    Dim myFullName   As String
    Dim myFullNameTS   As String
    
    ' SaveAs2 changes the name of the current document
    ' therefore we need to preserve the current full name
    myFullName = doc.FullName
    myFullNameTS = replace(doc.FullName, ".", Format$(Now(), "-yyyy-mm-dd-hh-mm-ss."))
    ' Saveas2 fails if we don't use the correct file type
    ' change docx to doc if needed.
    myFullNameTS = replace(myFullNameTS, ".docx", ".pdf")
    doc.SaveAs2 filename:=myFullNameTS, FileFormat:=wdFormatPDF
    ' SAVE THE WORD DOCUMENT LAST TO REINSTATE THE FILE NAME.
    doc.SaveAs2 filename:=myFullName
        
End Sub
Reply With Quote
Reply

Tags
pdf creator, saving, saving options

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Saving and creating PDF at once Problems with creating and saving word templates smd89 Word 2 03-30-2016 06:38 AM
Problem with saving as .PDF benoitbri Word 5 02-12-2016 07:31 AM
Saving and creating PDF at once Saving as pdf danielraviolo Word 5 06-19-2015 09:46 PM
Saving VBA skib PowerPoint 0 02-18-2011 12:59 AM
Saving backup prestoaa Outlook 0 12-13-2010 08:35 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 12:13 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft