Word 2010 VBA - nur Text in Fußzeile ersetzen

Moderator: ModerationP

Word 2010 VBA - nur Text in Fußzeile ersetzen

Beitragvon weissnichtviel123 » 20. Feb 2019, 13:37

Hallo,
bin Anfänger in Word-VBA.Möchte bei ca. 100 Word-Vorlagen (*.dotm)
die Fusszeile, die aus der linken Seite aus einem Firmenlogo (Bild) und
einigen Zeilen Text besteht in einer Schleife für alle 100 Vorlagen durch
einen neuen Text ersetzen. Bild muss bleiben.
Dazu hab ich ein Makro gefunden, welches den neuen Text in den Zwischenspeicher kopiert
und dann bei allen 100 Vorlagen den neuen Text reinkopiert. Leider wird bei dieser
Aktion das Bild gelöscht, sonst klappt alles.
Hier ist das Makro:

Sub Fußzeile()
strPath = "I:\501\Test\Test2\"
strExt = "*.dotm"
Dim strFile As String
If strPath = "" Then
Exit Sub
Else
strFile = Dir(strPath & strExt)
Do While Len(strFile) > 0
Application.ScreenUpdating = False
Documents.Open FileName:=strPath & strFile
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:=""
End If
ActiveWindow.View.Type = wdPrintView
ActiveWindow.View.SeekView = wdSeekCurrentPageFooter
Selection.WholeStory
Selection.Expand unit:=wdStory
If Len(Selection) - 2 > 0 Then
Selection.PasteAndFormat wdFormatOriginalFormatting
End If
ActiveDocument.Save
ActiveDocument.Close
strFile = Dir() ' nächste Datei
Loop
End If
End Sub

Wie kann ich das Überschreiben des Firmenlogos verhindern ?

Gruß
weissnichtviel123
weissnichtviel123
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 52
Registriert: 03. Jul 2015, 15:00

Re: Word 2010 VBA - nur Text in Fußzeile ersetzen

Beitragvon Fen » 20. Feb 2019, 15:38

Hat Dir mein Vorschlag im Nachbarforum nicht geholfen?

Lade bitte eine Beispieldatei hoch.
Fen
 

Re: Word 2010 VBA - nur Text in Fußzeile ersetzen

Beitragvon theoS » 20. Feb 2019, 20:11

Keine Ahnung was ihnen der freundlich Herr geraten hat...
Der Hinweis auf ein Text-Dok ist jedenfalls goldrichtig.
Denn, das kann ja alles mögliche sein, was da in deiner Fußzeile rumgeistert.
Hab da mal was gebaut für die ERSTE Fußzeile. Sprich, wenn du eine andere hast auf z.B. Seite 2, dann ändert sich da nichts.
Vernherr weiß ich nicht, ob da eine Tabelle ist, ob das ein Inline-Shape ist und was weiß ich noch was ich/wir dabei nicht weiß/wissen.

Wenn du Glück hast, geht das Ding hier:
Code: Alles auswählen
Sub Fußzeile()
Dim dd1 As Document: Set dd1 = ActiveDocument
Dim rngF As Range, rng2 As Range
Dim fiDi As FileDialog, varObj As Variant
Dim strErsatz As String
strErsatz = "Blubber und Blabber"
Set fiDi = Application.FileDialog(msoFileDialogFilePicker)
 
With fiDi
    If .Show = -1 Then
        For Each varObj In .SelectedItems
       
            Set dd1 = GetObject(varObj)
            dd1.Windows(1).Visible = True
           
           
            Set rngF = dd1.StoryRanges(wdPrimaryFooterStory)
            If rngF.InlineShapes.Count > 0 Then
                rngF.InlineShapes(1).Select
                en = rngF.InlineShapes(1).Range.End
                enP = rngF.End
                rng2 = dd1.StoryRanges(wdPrimaryFooterStory).Duplicate
                rng2.Start = en
                 rng2.Text = strErsatz
             ElseIf rngF.ShapeRange.Count > 0 Then
                en = rngF.ShapeRange(1).Anchor.End
                enP = rngF.End
                Set rng2 = dd1.StoryRanges(wdPrimaryFooterStory).Duplicate
                rng2.Start = en
                rng2.Text = strErsatz

            End If
            dd1.Save
            dd1.Close
            Set dd1 = Nothing
        Next varObj
       End If
    End With
End Sub
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4731
Registriert: 19. Apr 2008, 00:14

Re: Word 2010 VBA - nur Text in Fußzeile ersetzen

Beitragvon weissnichtviel123 » 22. Feb 2019, 18:08

Hallo,
vielen Dank für die Tipps.Muss den Test leider
verschieben und melde mich dann.
Gruß weissnichtviel123
weissnichtviel123
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 52
Registriert: 03. Jul 2015, 15:00


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast