Forums Neueste Beiträge
 

Abfrage bei Suchfunktion

25/07/2008 - 16:32 von Dietmar Feuerer | Report spam
Hallo,

bei mir tritt öfters der Fehler auf, dass am Zeilenanfang ein Leerschritt
steht. Wenn ich mein Makro einsetze, ohne das die Bedingung "Absatzmarke +
Leerzeichen + Testwort vorhanden ist, erhalte ich einen Laufzeitfehler. Ist
es möglich, so wie bei einer Textmarke abzufragen, ob die Bedingung erfüllt
ist ist?

Code:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^a Testwort"
.Replacement.Text = "^aTestwort"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll

Danke für die Hilfe!
Gruß, Dietmar
 

Lesen sie die antworten

#1 Thomas Gahler
25/07/2008 - 17:08 | Warnen spam
Hallo Dietmar


[...] erhalte ich einen Laufzeitfehler.


Spannend wàre welcher Fehler du denn erhàlst, denn die .Find-Methode sollte
so wie du sie aufzeigst kein Problem machen. Entweder gibt es was zu tun
oder eben nicht...

.Text = "^a Testwort"
.Replacement.Text = "^aTestwort"


Wie so machst du nicht einfach, dann hast du gelich alle Möglichkeiten
drin...
.Text = "^a "
.Replacement.Text = "^a"


.Text = "^a "


Ich nehmen an du hast Word97? Bei spàteren Versionen ist es nàmlich ^p für
die Absatzmarke (Paragraph)

oder das Ganze dynamisch einbauen
#If VBA6 Then
Public Const tgABSATZ As String = "^p"
#Else
Public Const tgABSATZ As String = "^a"
#End If

.Text = tgABSATZ & " "
.Replacement.Text = tgABSATZ





Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen