AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein VB-Makro für Selektion in Word nach Format
Thema durchsuchen
Ansicht
Themen-Optionen

VB-Makro für Selektion in Word nach Format

Ein Thema von scouty · begonnen am 9. Jan 2004 · letzter Beitrag vom 9. Jan 2004
Antwort Antwort
scouty

Registriert seit: 27. Nov 2003
Ort: Dresden
47 Beiträge
 
#1

VB-Makro für Selektion in Word nach Format

  Alt 9. Jan 2004, 18:40
Also, ich brauche ein Makro, mit dem ich in einem Worddokument nur Textteile einer bestimmten Farbe makieren kann und dann ändern.

Ich bin in der VisualBasic-Syntax nicht so bewandert, darum habe ich mir zunächst ein Makro mit dem Recorder zusammen gekaspert, welches ich mir dann entsprechend modifiziert habe. Dieses läuft auch ganz gut, in einem einfachen Dokument (Textdokument eine Seite nur Text). Will ich jedoch größere Dokumente mit Grafiken und anderen Objekten modifizieren, dann hängt sich der Rechner auf. Kann man an also dieses Makro soweit verbessern, dass es auch bei umfangreicheren Dokumenten funktioniert. Das z.b. anstelle von „Select.WholeStory“ nur der Text im Dokument markiert wird und die Objekte ignoriert werden.

Hier meine kleine Routine:

Code:
   Dim i
    i = 0 

   Selection.WholeStory
   
   While i < Selection.Characters.Count
      i = i + 1 
      If Selection.Characters.Item(i).Font.Color = wdColorBlue Then _ Selection.Characters.Item(i).Font.Name = "Graphit Light"
    Wend
Schon mal vielen Dank im Voraus

PS.: Wenn einer eine Idee hat, wie man in Word das gleiche auch ohne Makro erreichen kann, wäre mir auch sehr geholfen.

[edit=sakura] [code]-Tags gesetzt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
scouty

Registriert seit: 27. Nov 2003
Ort: Dresden
47 Beiträge
 
#2

Re: VB-Makro für Selektion in Word nach Format

  Alt 9. Jan 2004, 19:50
...nach langem hin und her probieren, habe ich dann doch noch eine lösung gefunden, die zumind. meine Zwecke erfüllt. Der erfahrene VB-Progammierer mag zwar über diese umfangreiche Routine im Verhältnis zur zuerfüllenden Aufgabe den Kopf schütteln, aber es läuft. Ihr könnt mir natürlich immer noch bessere alternative Lösungen liefern, denn ich lerne auch in VB gerne dazu...

Code:
With ActiveDocument.Content.Find
    .ClearFormatting
    .Font.Name = "Symbol"
    .Font.Color = wdColorBlue
    .Format = True
    .Replacement.ClearFormatting
    .Replacement.Font.Color = wdColorBrown
    .Execute Forward:=True, Replace:=wdReplaceAll, _
        FindText:="", ReplaceWith:=""
End With

With ActiveDocument.Content.Find
    .ClearFormatting
    .Font.Color = wdColorBlue
    .Format = True
    .Replacement.ClearFormatting
    .Replacement.Font.Name = "Geogia"
    .Execute Forward:=True, Replace:=wdReplaceAll, _
        FindText:="", ReplaceWith:=""
End With

With ActiveDocument.Content.Find
    .ClearFormatting
    .Font.Name = "Symbol"
    .Format = True
    .Replacement.ClearFormatting
    .Replacement.Font.Color = wdColorBlue
    .Execute Forward:=True, Replace:=wdReplaceAll, _
        FindText:="", ReplaceWith:=""
End With
Greetings Joerg

[edit=sakura] [code]-Tags gesetzt. In Zukunft bitte selbst erledigen. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz