Best Practices > Diskussionen zu Best Practices
COM-Schnittstelle MS Word
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