Function flÖffneDokUndMarkiereMarke(sMarke As String) As Long
' Datei hier fest als Konstante
Const ksDok = "C:\Handbuch.doc"
Dim oDoc As Document
On Error Resume Next
Set oDoc = Documents.Open(ksDok, False, True, False) ' ggf. weitere/andere Parameter
If Err Then flÖffneDokUndMarkiereMarke = 1: Exit Function
If sMarke = "" Then flÖffneDokUndMarkiereMarke = 2: Exit Function
If Not oDoc.Bookmarks.Exists(sMarke) Then flÖffneDokUndMarkiereMarke = 3: Exit Function
oDoc.Bookmarks(sMarke).Select
If Err Then flÖffneDokUndMarkiereMarke = 4: Exit Function
flÖffneDokUndMarkiereMarke = True
End Function
' Aufruf-Prozedur
Sub Handbuchmarke()
' woher die jeweiligen Markennamen kommen und wann welche angesteuert werden soll, _
weiß ich natürlich nicht, hier daher nur prinzipieller Aufruf-Test
' je nach Rückgabewert der Funktion kann/sollte eine entsprechende Fehlermeldung (+ weitere Reaktion?) erfolgen
Dim lRet As Long
lRet = flÖffneDokUndMarkiereMarke("Marke1")
Select Case lRet
Case True: ' alles ok
Case 1: ' Datei konnte nicht geöffnet werden
Case 3: ' Textmarke nicht vorhanden
' usw.
End Select
End Sub