FYI…
Problem (1) & (2) was solved by inserting the line
tmpRange.Move Unit:=wdCharacter, Count:=-1
before each …Fields.Add … line!
Thanks (& find more info there) to StuartR & his
post 127993, hidden (or didn’t I search good enough?) at the end of some other thread…
Problem (3) was a tough one as it was hard to make texts & fields appear in the right order (something wrong with me defining ranges… but maybe with Word too, as it was pretty weird). For those interested: this is the result… Please leave some comment if you find it crap /worth the effort
!
================
Public Sub testsub()
Dim myRange, tmpRange As Range
‘Insert table in footer
Set myRange = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
myRange.Delete
Set tmpRange = myRange
myRange.Tables.Add tmpRange, 1, 3
‘Make table borders invisible
myRange.Tables(1).Borders.OutsideLineStyle = wdLineStyleNone
‘Insert file name field in column 1
Set tmpRange = myRange.Tables(1).Columns(1).Cells(1).Range ‘.Duplicate
tmpRange.Move Unit:=wdCharacter, Count:=-1
tmpRange.Fields.Add tmpRange, wdFieldFileName
‘Insert fields & text “Pg.x/y” in column 2
Set tmpRange = myRange.Tables(1).Columns(2).Cells(1).Range ‘.Duplicate
tmpRange.Move Unit:=wdCharacter, Count:=-1
tmpRange.Fields.Add tmpRange, wdFieldSectionPages
tmpRange.InsertBefore “/”
tmpRange.SetRange myRange.Tables(1).Columns(2).Cells(1).Range.Start, myRange.Tables(1).Columns(2).Cells(1).Range.Start
tmpRange.Fields.Add tmpRange, wdFieldPage
tmpRange.InsertBefore “Pg.”
‘Insert date last saved field in column 3
Set tmpRange = myRange.Tables(1).Columns(3).Cells(1).Range
tmpRange.Move Unit:=wdCharacter, Count:=-1
tmpRange.Fields.Add tmpRange, wdFieldEmpty, “SAVEDATE @ “”dd/MM/yy”””, PreserveFormatting:=True
‘Update fields
ActiveDocument.Fields.Update
End Sub