Beschreibung
Beim Aktualisieren von Dokumenten werden häufig fehlerhafte Verweisquellen übersehen. Um dies zu verhindern, habe ich die folgende Funktion geschrieben. Die Funktion dient als Input für die Funktion Dokument aktualisieren. Vorher definierte Fehlertexte werden gesucht und bei auffinden eines dieser Texte wird True zurückgegeben, andernfalls False.
Das Makro ist in VB.NET geschrieben, kann aber leicht in VBA portiert werden. Bei Fragen einfach die Kommentarfunktion benutzen.
Sourcecode
' Verweisquellen-Fehlermeldungen Public Const REF_ERROR1 As String = "Fehler! Verweisquelle konnte nicht gefunden werden." Public Const REF_ERROR2 As String = "Fehler! Textmarke nicht definiert." Public Const REF_ERROR3 As String = "Fehler! Kein gültiger Dateiname." Public Const REF_ERROR4 As String = "Fehler! Unbekannter Name für Dokument-Eigenschaft." ' Kapitel 0-Verweisquellen Public Const CHAPTER0_1 As String = "section 0" Public Const CHAPTER0_2 As String = "chapter 0" Public Const CHAPTER0_3 As String = "abschnitt 0" Public Const CHAPTER0_4 As String = "kapitel 0" ' Word-Objekt Public objWord As Microsoft.Office.Interop.Word.Application = Globals.Ribbon_Class.Application ' Nach fehlerhaften Verweisquellen im Text suchen Public Function findFehlerhafteVerweisquellen() Dim sSearchString As String Dim ireftype As Integer findFehlerhafteVerweisquellen = False With objWord.Selection For ireftype = 1 To 8 Select Case ireftype Case 1: sSearchString = REF_ERROR1 Case 2: sSearchString = REF_ERROR2 Case 3: sSearchString = REF_ERROR3 Case 4: sSearchString = REF_ERROR4 Case 5: sSearchString = CHAPTER0_1 Case 6: sSearchString = CHAPTER0_2 Case 7: sSearchString = CHAPTER0_3 Case 8: sSearchString = CHAPTER0_4 Case Else: sSearchString = "" End Select With .Find .Text = sSearchString .Execute() If .Found Then findFehlerhafteVerweisquellen = True Exit For Else findFehlerhafteVerweisquellen = False End If End With Next ireftype End With End Function