VB6: Range-Objekt Word nach Style suchen, Fehler, wenn Style nicht vorhanden!

stoperror
Goto Top

Wir verwenden in einem VB6 Projekt das Range-Objekt für Word um nach einem Style zu suchen.
Und die Find-Methode. Ist das Format im Dokument jedoch gar nicht vorhanden, bekomme ich einen VB - Laufzeitfehler!

Folgender Fehler wird in VB ausgegeben (beim Debuggen):
Laufzeitfehler '5834'
Ein Element mit dem angegebenen Namen ist nicht vorhanden.

Funktion:

Public Sub parseStyle()

Dim p As Paragraph 'Der zu analysierende Paragraph
Set p = m_para

Dim r As Range 'Das zu durchsuchende Range-Object

Dim iter As Boolean 'Loop-Variable

Dim fm As Variant 'Name des Formates nach dem gesucht wird

'Fuer jedes Format suche das Format solange, bis das Ende des
'Range-Objektes erreicht ist, oder es nicht mehr gefunden wird
For Each fm In m_formats
Set r = p.Range
iter = True
While iter And r.Start < p.Range.End
iter = False
With r.Find

.Style = fm <--- HIER Tritt der Fehler auf!!!
If .Execute(FindText:="", Forward:=True, Format:=True) = True Then
parseStyleAddChunk fm, r
If r.End + 1 < p.Range.End Then
Set r = ActiveDocument.Range(r.End + 1, p.Range.End)
iter = True
End If
End If
End With
Wend
Next fm
End Sub




Wie vermeide ich nun diesen Laufzeitfehler? Das Programm soll einfach weiterlaufen, wenn es den Style nicht findet und er auch nicht im Worddokument enthalten ist.

Content-Key: 19381

Url: https://administrator.de/contentid/19381

Ausgedruckt am: 13.08.2022 um 12:08 Uhr

Mitglied: Biber
Biber 12.11.2005, aktualisiert am 17.10.2012 um 16:13:22 Uhr
Goto Top
Moin stoperror,
Du kannst diesen Fehler abfangen oder auch ignorieren.
Schau mal in der Hilfe unter "On Error goto.." bzw. "On Error Resume Next".

Ich hab auch so ein Beispiel verwandt in <a href=https://www.administrator.de/wissen/outlook-automatisierte-mailverarbeit ... target="blank">Outlook: Automatisierte Mailverarbeitung mit VBA </a>

Sonst poste noch mal bitte.
HTH
Frank / der Biber aus Bremen