![]() |
|
#1
|
||||
|
||||
![]()
There are questions
![]() What do you mean by 'macros in the footer?' You can't have macros in a footer. You can have them act on a footer but then you say your document is DOCX format and that cannot store macros, so where have you stored the macros? For macros to work on any document they must be stored in a global template. By default that would be the normal template. It would help if you posted your FileSaveAs code so we can see what the macro does. For an update all fields macro - take a look at the example code at http://www.gmayor.com/installing_macro.htm This will cover most situations - certainly fields in header/footers. The FileSaveAs macro would have to either determine the name with which the document is to be saved, then write it to the footer, or apply it to a docvariable field in the footer, or it would have to save the document, update the filename field then save it again to store the new value.
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#2
|
|||
|
|||
![]()
You are right - macro is not in the footer - said it wrong. I want the macro to execute a function in the footer. As well, I changed my document to .dotm yesterday after reading copious amounts of info online. Still not working. Here is exactly what I want to do - I have a "base" document that I am doing a directory merge into to produce 1 new document with all my data in a table format. Works perfectly. However, the base document has my macros, which are to update my file name in the footer when the new document is "saved as" (via print preview). This is not working. If I "save as" before executing the merge the correct doc name appears in the footer; however, if I were to "save as" again after the merge, it won't update. Here are the macros:
Sub UpdateAllFields() Dim currentView As WdViewType currentView = ActiveWindow.View Options.UpdateFieldsAtPrint = True ActiveWindow.View = wdPrintPreview ActiveWindow.View = currentView End Sub Sub FileSaveAs() Dim dlg As Dialog Set dlg = Dialogs(wdDialogFileSaveAs) dlg.Show UpdateAllFields End Sub I am setting up a range of template documents that are schedules to legal documents and essentially are the same template; however, the data being merged into them changes, depending on the template. I have a team of users who will be doing the "mass production" of these documents and am trying to have them set up so there is continuity and uniformity to all the documents despite the number of people who will be using them. The only way to differentiate between all of these documents is to be sure the file name is accurate in each footer. Thanks for your time ![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
Macer | Word VBA | 2 | 06-05-2015 10:03 PM |
![]() |
hans | Excel Programming | 4 | 12-10-2011 07:03 AM |
![]() |
EMH | Excel Programming | 1 | 07-06-2011 09:24 AM |
![]() |
louise_chapman | Word VBA | 3 | 10-25-2010 08:34 AM |
FileSaveAs with Code | bsmith | Office | 0 | 01-05-2006 08:43 AM |