#1
|
|||
|
|||
Adding Headers and Footers to a Document
Hi,
does an body have any idea what I'm doing wrong. I would like too add a header and a footer with the coresponding textfields. I get always the runtime error 5941. Here is the code: Private Sub CommandButton1_Click() Dim MSWord As Object Dim Datei As String Dim pdfName As String Set MSWord = CreateObject("Word.Application") MSWord.Visible = True Datei = "D:\WordTest.doc" pdfName = "D:\WordTest.pdf" MSWord.Documents.Add With MSWord.Selection .Font.Name = "Helvetica" .Font.Size = 20 .Font.Color = 255 .Font.Bold = True .Font.Italic = True .TypeText Text:="Text" .TypeParagraph End With MSWord.Selection.insertbreak 2 'Here is the problematic part: With MSWord.ActiveDocument.Sections(1) .Headers(wdHeaderFooterPrimary).Range.Text = "Header text" .Footers(wdHeaderFooterPrimary).Range.Text = "Footer text" End With MSWord.ActiveDocument.SaveAs Datei MSWord.ActiveDocument.ExportAsFixedFormat _ OutputFileName:=pdfName, _ ExportFormat:=17, _ OpenAfterExport:=False, _ OptimizeFor:=0, _ Range:=0, _ Item:=0, _ IncludeDocProps:=False, _ KeepIRM:=True, _ CreateBookmarks:=0, _ DocStructureTags:=True, _ BitmapMissingFonts:=True, _ UseISO19005_1:=False MSWord.ActiveDocument.Close MSWord.Quit Set MSWord = Nothing End Sub I would be grateful of any help. |
#2
|
||||
|
||||
I believe you have missed the significance about what I told you yesterday about using the numeric equivalents of Word commands when using late binding to Word i.e. those beginning 'wd' and in this instance wdHeaderFooterPrimary.
However I would have written it as follows, which does not produce an error. Code:
Private Sub CommandButton1_Click() Dim MSWord As Object Dim oDoc As Object Dim oRng As Object Dim Datei As String Dim pdfName As String Set MSWord = CreateObject("Word.Application") MSWord.Visible = True Datei = "D:\WordTest.doc" pdfName = "D:\WordTest.pdf" Set oDoc = MSWord.Documents.Add Set oRng = oDoc.Range With oRng .Collapse 1 .Text = "Text" & vbCr .Font.Name = "Helvetica" .Font.Size = 20 .Font.Color = 255 .Font.Bold = True .Font.Italic = True .Collapse 0 .InsertBreak 2 End With With oDoc.Sections(1) .Headers(1).Range.Text = "Header text" .Footers(1).Range.Text = "Footer text" End With oDoc.SaveAs Datei oDoc.ExportAsFixedFormat _ OutputFileName:=pdfName, _ ExportFormat:=17, _ OpenAfterExport:=False, _ OptimizeFor:=0, _ Range:=0, _ Item:=0, _ IncludeDocProps:=False, _ KeepIRM:=True, _ CreateBookmarks:=0, _ DocStructureTags:=True, _ BitmapMissingFonts:=True, _ UseISO19005_1:=False oDoc.Close MSWord.Quit Set MSWord = Nothing Set oDoc = Nothing Set oRng = Nothing End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#3
|
|||
|
|||
Thank you. You're absolutely right.
But I couldn't find the numeric equivalents of Word commands in the object library reference here (see the link below). I couldn't even find the english version. This is the german version: https://msdn.microsoft.com/de-de/library/ff837519.aspx Would you be so kind and give me a hint? Thank you. Greetings from Munich. |
#4
|
||||
|
||||
Sadly Microsoft removed the VBA Help after Word 2010, but had you typed wdHeaderFooterPrimary enumeration into Google you would have found the value 1.
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Headers & Footers - Show Document Text | Aprilann | Word | 6 | 04-13-2017 09:34 AM |
Headers/Footers not in new document | Jim-ski | Word | 7 | 12-07-2015 09:30 PM |
Adding different headers and footers in Microsoft word | camzie | Word | 4 | 08-22-2013 06:39 PM |
Headers and Footers | OverAchiever13 | Word | 1 | 05-27-2010 01:30 PM |
How do I have headers and footers appear as regular text for the whole document? | user908045 | Word | 0 | 03-13-2010 12:41 PM |