Best Practices > Diskussionen zu Best Practices

COM-Schnittstelle MS Word

<< < (3/3)

Axel:
Das sieht doch auf die Schnelle betrachtet doch ganz gut aus.

Dass das mit der Fusszeile nicht der Weisheit letzter Schluss ist, ist mir auch klar. Damals als der Code entstanden ist, war die Dokumentation noch ziemlich besch...(eiden). Der Code resultiert aus einem aufgezeichneten Makro aus Word.

Wenn du eine bessere Lösung hast, dann her damit.


Axel
 

Fedaykin:
Hi Axel

Das Hauptproblem bei der Kopf/Fusszeile ist halt Du kannst pro Abschnitt 3 Typen haben und die dann je nachdem weiter unten noch umbiegen. Also wird es keine Patentlösung geben. Nur für sonst ist mein Code wohl schicker, da nichts rumhüpft. Bauen so eine Tabelle mit Seitennummern in unsere Fusszeile wenn es mal klappt echt schick. Bis es klappt fluchst Du über Felder und Bereiche.  :)

Gruss
Remo

Fedaykin:
Hi Axel

Habe mal versucht InsertAutoTextInFooter wie in der Klasse nachzubauen aber ohne View zu wechseln.

Sub InsertAutoTextInFooter(strText As String)
'    Dim objWord As Application
'    Set objWord = Application
    Dim strCurPage As String
    Dim strCurSection As String
    Dim bolHasFirstPage As Boolean
    Dim bolHasEvenPages As Boolean
    Dim lngHeaderFooterIndex As Long
    Dim rngFooter As Variant
   
    With objWord
        With .Selection
            strCurPage = .Information(wdActiveEndPageNumber)
            strCurSection = .Information(wdActiveEndSectionNumber)
        End With
       
        With .ActiveDocument
            With .Sections(strCurSection).PageSetup
                bolHasFirstPage = .DifferentFirstPageHeaderFooter
                bolHasEvenPages = .OddAndEvenPagesHeaderFooter
            End With
           
            If strCurPage Mod 2 = 0 And bolHasEvenPages Then
                lngHeaderFooterIndex = wdHeaderFooterEvenPages
            Else
                If strCurPage = 1 And bolHasFirstPage Then
                    lngHeaderFooterIndex = wdHeaderFooterFirstPage
                Else
                    lngHeaderFooterIndex = wdHeaderFooterPrimary
                End If
            End If
           
            Set rngFooter = .Sections(strCurSection).Footers(lngHeaderFooterIndex).Range
           
            .AttachedTemplate.AutoTextEntries(CStr(strText)).Insert rngFooter
        End With
    End With
End Sub

Glaube müsste alles sein wie bei Dir, sonst meld Dich und sag was anders ist.

Gruss
Remo

Axel:
Danke. Ich schau mir's an. Kann aber ein bisschen dauern, da ich im Moment an einer andere Sache dran bin.

Axel

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln