thunderbird-pao Geschrieben 27. November 2007 Teilen Geschrieben 27. November 2007 Hallo, wie kann per VB-Script in vielen Word-Dateien, die in einer Verzeichnisstruktur mit weiteren Unterverzeichnissen vorliegen, der jeweilige Textinhalt der einzelnen Dateien auf Schriftart "Arial Black" geändert werden? Das beiliegende VB-Script mach schon einige Änderungen so, wie das sein soll. Wie muss das Script geändert werden, um die nachfolgenden Punkte auch noch zu berücksichtigen? - wenn die entsprechende Schrift "Arial Black" schon als Standard vorliegt, dann soll in dem Dokument nichts geändert werden (ohne Änderung das Dokument schließen und das nächste Dokument aufrufen) - Dateien auch in vorliegenden Unterverzeichnissen verarbeiten (bisher werden nur die Dateien aus einem Verzeichnis verarbeitet), - alle Kopf- und Fußzeilen eines Dokuments verarbeiten (bisher geht nur die erste Kopf- und Fußzeile, auch wenn im Dokument mehrere Kopf- bzw. Fußzeilen vorliegen), - auch Text in Textfelder sollen geändert werden (bisher bleibt die bisherige Schriftart erhalten) in Tabellen funktioniert es problemlos Bin gespannt, ob das komplett mit VB gelöst werden kann. Vielen Dank für schon einmal für eine Unterstützung. Gruß Thunderbird Hier nun das Script: Sub Schriftart() 'Schriftarten verändern Dim i As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .FileName = "" 'FileName = "*.doc" ' wenn nur DOC-Dateien geändert werden sollen 'Pfadangabe .LookIn = "D:\Test" ' wie geht das mit mehreren, unterschiedlichen Verzeichnissen? .SearchSubFolders = False If .Execute() > 0 Then ReDim strdateien(.FoundFiles.Count) ReDim strZugehOrdner(.FoundFiles.Count) 'Durchläuft alle Dateien, die in dem Verzeichnis vorhanden sind. 'wie funktioniert das mit Unterverzeichnissen? For i = 1 To .FoundFiles.Count strdateien(i) = .FoundFiles(i) strZugehOrdner(i) = .FoundFiles(i) Do strdateien(i) = Right(strdateien(i), (Len(strdateien(i)) -InStr(strdateien(i), "\"))) Loop While InStr(strdateien(i), "\") > 0 Documents.Open FileName:=strZugehOrdner(i) Selection.EndKey Unit:=wdStory Selection.HomeKey Unit:=wdStory Selection.WholeStory Selection.Font.Name = "Arial Black" Selection.HomeKey Unit:=wdStory 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.WholeStory Selection.Font.Name = "Arial Black" ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument 'Hier wird die Standard-Schriftart geändert. Wenn hier "Arial Black" 'schon vorliegt, soll im Dokument nichts mehr geändert werden. With ActiveDocument.Styles(wdStyleNormal).Font .Name = "Arial Black" .Size = 12 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .Emboss = False .Shadow = False .Hidden = False .SmallCaps = False .AllCaps = False .Color = wdColorAutomatic .Engrave = False .Superscript = False .Subscript = False .Spacing = 0 .Scaling = 100 .Position = 0 .Kerning = 0 .Animation = wdAnimationNone End With 'Speichern ActiveDocument.Save 'Schliessen ActiveDocument.Close 'schließt das Dokument Next i End If End With Application.ScreenUpdating = True End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.