Kopf und Fußzeile in Word
-
Halo,
ich versuche in einem neuen Dokument eine Kopf bzw Fußzeile zu erzeugen.
Google hab ich schon mächtig strapaziert aber nichts gefunden.WordApp = CreateOleObject("Word.Application");
WordApp.OlePropertySet("Visible", true);
NewDoc = WordApp.OlePropertyGet("Documents").OleFunction("Add");
ActiveDocument = WordApp.OlePropertyGet("ActiveDocument");// hier sollte ein Text in die Kopfzeile geschrieben werden
// normaler Text
WordApp.OlePropertyGet("Selection").OleFunction("TypeText", "Hallo Forum!");Hat mir jemand einen Tipp ??
-
Word starten dann den Word Macrorecorder starten
dann das manuall machen was man machen will
wie zB in die Kopf-/Fußzeile schreiben
Macrorecorder beenden dann den Code des Macrorecoders anschauen und
die Aufrufbefehle als OLE Befehle in C++ Builder nachprogrammieren.
-
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.TypeText Text:="test"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End SubIch scheitere schon an der Abfrage vom Activen Window
ActiveWindow = ActiveDocument.OleFunction("wdPrintView");
kann mir jemand Starthilfe geben?
-
Diese Zeilen sind für dich interessant:
Wechsle in den PageHeader
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Schreibe etwas
Selection.TypeText Text:="test"
Wechsle zurück in das Hauptdokument
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
-
ActivePane =WordApp.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane").OlePropertyGet("View").OlePropertyGet("SeekView");
WordApp.OlePropertySet(ActivePane,"wdSeekCurrentPageHeader");
hier kommt die Fehlermeldung "unbekannter Name"Auch hier kommt "unbekannter Name"
WordApp.OlePropertySet("ActiveWindow.ActivePane.View.SeekView","wdSeekCurrentPageHeader");Gruß
Horscht
-
Habs gefunden.
OlePropertySet("SeekView", 9); // wdSeekCurrentPageHeader
Danke für die Tipps
Horscht
-
hier noch eine Variante:
Wdocs = vWordApp.OlePropertyGet("Documents"); Wdoc = vWordApp.OlePropertyGet("ActiveDocument"); sections = Wdoc.OlePropertyGet("Sections"); footers = sections.OlePropertyGet("First").OlePropertyGet("Footers"); //footers = sections.OlePropertyGet("First").OlePropertyGet("Headers"); footer = footers.OleFunction("Item", 1 /*wdHeaderFooterPrimary*/); range = footer.OlePropertyGet("Range"); font = range.OlePropertyGet("Font"); font.OlePropertySet("Name", "Tahoma"); font.OlePropertySet("Size", 7); font.OlePropertySet("Italic", true); font.OlePropertySet("Bold", true); WideString Text = "Text"; range.OleProcedure("InsertAfter", Text); /* wdHeaderFooterPrimary = 1, wdHeaderFooterFirstPage = 2, wdHeaderFooterEvenPages = 3 */
-
Hallo,
ich möchte mit footer.OlePropertySet("Add Range:=Selection.Range, Type:=wdFieldDate",31);
das Datum in der Fußzeile setzen. Bekomme aber wieder die Meldung "unbekannter Name".Der String vom WordMacro =
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldDateHat mir noch jemand einen Tipp ?
Gruß
Horscht