word 2007 macro

P

perkin5

I am trying to record a macro to add the filepath to the page footer.
Having saved the page and recorded the macro, I get an error message:
Run-time error 5941. The requested member of the collection does not
exist.

The debugger shows the following code:

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
Text:= _
"FILENAME ", PreserveFormatting:=True
End Sub
Sub Macro2()
'
' Macro2 Macro
'
'
WordBasic.ViewFooterOnly
ActiveDocument.AttachedTemplate.BuildingBlockEntries("
Blank").Insert _
Where:=Selection.Range, RichText:=True
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
Text:= _
"FILENAME ", PreserveFormatting:=True
End Sub

The two lines beginning 'ActiveDocument...' are highlighted.

Can anyone help me to sort this out?
 
D

Doug Robbins - Word MVP on news.microsoft.com

The following will add a { filename \p } field to the primary footer of the
first section of the document that is active when it is run:

With ActiveDocument
.Fields.Add .Sections(1).Footers(wdHeaderFooterPrimary).Range,
wdFieldEmpty, "filename \p"
End With

It would be better however to create a new template in which you have this
field already inserted and then use that template to create the documents
that you want to have this information in the footer. (Do not add the field
to the Normal.Dot Template).

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP, originally posted via msnews.microsoft.com
 
P

perkin5

The following will add a { filename \p } field to the primary footer of the
first section of the document that is active when it is run:

With ActiveDocument
    .Fields.Add .Sections(1).Footers(wdHeaderFooterPrimary).Range,
wdFieldEmpty, "filename \p"
End With

It would be better however to create a new template in which you have this
field already inserted and then use that template to create the documents
that you want to have this information in the footer.  (Do not add the field
to the Normal.Dot Template).

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP, originally posted via msnews.microsoft.com

Hi Doug,

Many thanks for this good advice. Code noted but I will use the
template route. Still a bit annoying that Word 2007 doesn't always do
what it says on the tin.

Mike
 
P

Pepper

1. Move your cursor to where the filename should appear.
2. In the Insert tab, Text group, click the Quick Parts button, then choose
Field.
3. In the Field box, change the Categories: to Document Information.
4. In the Field Names: list, choose FileName.
5. If you want the path included, under Field Option, check the Include the
Path box.
6. In the Field Properties section, you can specify the format, ie.
uppercase, lowercase, for how the path/filename displays.

I put a button on the QAT to add a field.
 
P

perkin5

1.      Move your cursor to where the filename should appear.
2.      In the Insert tab, Text group, click the Quick Parts button, then choose
Field.
3.      In the Field box, change the Categories: to Document Information.
4.      In the Field Names: list, choose FileName.
5.      If you want the path included, under Field Option, check the Include the
Path box.
6.      In the Field Properties section, you can specify the format, ie.
uppercase,  lowercase, for how the path/filename displays.

I put a button on the QAT to add a field.

Many thanks but I had actually got that far. My problem was in turning
it into a macro. Doug Robbins recommended using a template instead
which seems like good advice.

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top