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 Sub

    Ich 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:=wdFieldDate

    Hat mir noch jemand einen Tipp ?

    Gruß
    Horscht


Anmelden zum Antworten