[GastForen Programme Office Microsoft Office italic2charstyle (Makro, Word 2010, Win)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Office - Alles fürs Büro
Themen
Beiträge
Moderatoren
Letzter Beitrag

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

2. Mär 2013, 09:01
Beitrag # 1 von 11
Bewertung:
(4592 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

mit folgendem Makro versuche ich alle Vorkommen im Dokument, die den Font Style Italic haben ein Zeichenformat zuzuweisen:

Code
Dim MyRng As Word.Range 
Dim i As Integer
i = 0
Set MyRng = ActiveDocument.Content

With MyRng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ""
.Font.Italic = True
While .Execute
MyRng.Style = ActiveDocument.Styles("Italic")
i = i + 1
Wend
End With
MsgBox (i)


Vom Prinzip her funktioniert es prima. Doch irgendwann hört das Makro auf und lässt einen grossen Teil unbearbeitet zurück (ohne Fehlermeldung).
Es scheint so, als das Makro ab einer bestimmten Stelle einfach keine Lust mehr hat.
Denn, wenn ich das Makro nochmals laufen lasse, wird wieder ein Stückchen mehr gefunden. usw.
Was mache ich da falsch?

Über Hilfe freue ich mich.
Christoph
X

italic2charstyle (Makro, Word 2010, Win)

MurphysLaw
Beiträge gesamt: 588

4. Mär 2013, 11:59
Beitrag # 2 von 11
Beitrag ID: #509352
Bewertung:
(4531 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Christoph,

poppt denn die Messagebox auf und es ist noch unbearbeitetes Zeug drin?

Grundsätzlich sehe ich hier erstmal nix kritisches. Erst Recht zumal Du das Content Objekt verwendest und nicht Selection. *Hallelujah*

P.S: Setz mal in den .Find Optionen noch den Wert .Format=True, nur zur Sicherheit.


als Antwort auf: [#509290]

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

4. Mär 2013, 16:03
Beitrag # 3 von 11
Beitrag ID: #509379
Bewertung:
(4507 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Merci für die Antwort,

ich hab jetzt mal die box ausgeklinkt.
Aber das Makro muss ich immer wieder anstossen.
Dann werden wieder ein paar Seiten bearbeitet, der Rest bleibt liegen:

Code
Dim MyRng As Word.Range 
Dim i As Integer
Set MyRng = ActiveDocument.Content

With MyRng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = True
.Text = ""
.Font.Italic = True
While .Execute
MyRng.Style = ActiveDocument.Styles("Italic")
Wend
End With


Komisch und Gruß
Christoph


als Antwort auf: [#509352]

italic2charstyle (Makro, Word 2010, Win)

MurphysLaw
Beiträge gesamt: 588

4. Mär 2013, 18:48
Beitrag # 4 von 11
Beitrag ID: #509394
Bewertung:
(4489 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich glaube, das liegt gar nicht am Makro.
Was für ein Format haben die Texte denn?
==>Bei der Formatvorlage das Häkchen bei "automatisch aktualisieren" wegmachen, bzw deinen Code wie folgt anpassen:
Code
Dim sty As Style 
'...
'...

While .Execute
Set sty = ActiveDocument.Styles(MyRng.Style)
sty.AutomaticallyUpdate = False

MyRng.Style = ActiveDocument.Styles("Italic")


Achtung: Auch deine Formatvorlage "Italic" darf nicht automatisch aktualisieren!


als Antwort auf: [#509379]

italic2charstyle (Makro, Word 2010, Win)

Henry
Beiträge gesamt: 967

4. Mär 2013, 19:38
Beitrag # 5 von 11
Beitrag ID: #509395
Bewertung:
(4475 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Noch ein anderer Ansatzpunkt (ungetestet):

Code
... 
With MyRng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Style = ActiveDocument.Styles("Italic")
.Format = True
.Text = ""
.Font.Italic = True
.Execute Replace:=wdReplaceAll
End With



als Antwort auf: [#509379]

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

5. Mär 2013, 15:51
Beitrag # 6 von 11
Beitrag ID: #509429
Bewertung:
(4413 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für die weitere Rückmeldung.
Das Makro verhält sich unverändert und arbeitet nicht alles vollständig ab.
Die autom. Aktualisierung ist abgeschaltet.

Gruss
Christoph


als Antwort auf: [#509394]

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

5. Mär 2013, 16:01
Beitrag # 7 von 11
Beitrag ID: #509430
Bewertung:
(4410 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Henry,

dieser Weg scheint zu funktionieren. Dankeschön.

Code
Dim MyRng As Word.Range 
Set MyRng = ActiveDocument.Content
With MyRng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Style = ActiveDocument.Styles("Italic_Bold")
.Format = True
.Text = ""
.Font.Italic = True
.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With


Nun habe ich noch das Problem:
Ich möchte alle eventuelle Vorkommen via Zeichenformat einfrieren.
Italic, BoldItalic, Underline Italic, Underline Bold, usw. usw.

Wie kann ich dem Makro verbieten, dass es bereits formatierte Textpassagen nicht mehr formatiert, sobald diese bereits eine Zeichenformat haben?

Es sollen später mehrere dieser Makros hintereinander laufen. Damit aber diese sich nicht gegenseitig wieder die Formatierung zerstören, müsste so eine Abfrage eingebaut werden.
Gibt es eine generelle Kontrolle:

Code
If Not MyRng.Find = IrgendeinZeichenformat Then 
Formatiere die Fundstelle


Gruss
Christoph


als Antwort auf: [#509395]

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

7. Mär 2013, 16:23
Beitrag # 8 von 11
Beitrag ID: #509530
Bewertung:
(4333 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

habe soeben ein tolles Makro entdeckt:

http://www.adobescripts.com/modules/mydownloads/singlefile.php?cid=9&lid=38

Hat jemand eine Idee, wie man da Underline double hinzufügt.
Habs glaube ich noch nicht verstanden.

Gruss
Christoph


als Antwort auf: [#509430]
(Dieser Beitrag wurde von cwenet am 7. Mär 2013, 16:27 geändert)

italic2charstyle (Makro, Word 2010, Win)

MurphysLaw
Beiträge gesamt: 588

7. Mär 2013, 17:37
Beitrag # 9 von 11
Beitrag ID: #509542
Bewertung:
(4314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Christoph,

ich werd mir auf jeden Fall kein Makro runterladen.
Könntest Du den Code posten?

Grüße,
Murphy


als Antwort auf: [#509530]

italic2charstyle (Makro, Word 2010, Win)

Henry
Beiträge gesamt: 967

7. Mär 2013, 22:04
Beitrag # 10 von 11
Beitrag ID: #509553
Bewertung:
(4277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ MurphysLaw ] ... den Code posten?

Das Teil hat 300 Zeilen! - Weil darin ALLE Formatier-Kombinationsmöglichkeiten berücksichtigt werden! Wirklich tolle Idee.

Das Makro selber scheint neuer als der Beschreibungstext zu sein, denn >' ("0001000000") - UnderlineDouble< ist doch mit drinnen, Christoph?!
Hast du das denn mal laufen lassen?
Da legt dir doch das "MakeStyle Makro" gleich mal mehrere hundert(!) Zeichenformatvorlagen an, oder nicht?
Und wenn du z.B. in deinem Word-Text nur bold, italic und bolditalic Auszeichnungen drin hast, bräuchtest du aber eigentlich nur drei Stück?! :-(

Gruß,Henry


als Antwort auf: [#509542]

italic2charstyle (Makro, Word 2010, Win)

cwenet
Beiträge gesamt: 1139

8. Mär 2013, 07:16
Beitrag # 11 von 11
Beitrag ID: #509560
Bewertung:
(4240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Henry,

Du hast recht. Es wurde zwischenzeitlich wohl aktualisiert.
So bin ich auf jeden Fall für alle Eventualitäten vorbereitet.

Gruss
Christoph


als Antwort auf: [#509553]
X