Thema Datum  Von Nutzer Rating
Antwort
Rot Fehler unterdrücken
17.11.2021 09:26:16 Zero
NotSolved
18.11.2021 20:01:15 xlKing
NotSolved

Ansicht des Beitrags:
Von:
Zero
Datum:
17.11.2021 09:26:16
Views:
51
Rating: Antwort:
  Ja
Thema:
Fehler unterdrücken

Hallo,

ich hab folgende Aufgabe: Ich soll in ein Modul, das beim Starten des Dokuments (des einen Dokuments) automatisch ausgeführt wird, einen Code eingeben, der Fehlermeldungen unterdrückt. Die Bedingungen sind wie folgt:

  • Wenn irgendein Fehler auftritt, soll Word
    • keine Meldung ausgeben
    • den Fehler ignorieren und hinsichtlich die fehlerhafte Funktion ausführen
    • ansonsten normal weiterlaufen
  • Der Code soll ein- und ausschaltbar sein.

Bis jetzt habe ich die folgenden Makros versucht (und mehrere wieder verworfen):

Sub AutoOpen()
'
' IgnoreAllErrors Makro
'
'
  'Applications.MacroOptions ShortcutKey:="%^+F" -> Fehler
  'ThisDocument.ShowGrammaticalErrors = False |
  'ThisDocument.ShowSpellingErrors = False    | -> Diese Art von Fehlermeldungen war nicht gemeint.
  Dim ignoreErrors As Boolean
  ignoreErrors = True
  Call AddKeyTo_ChangeErrorIgnoring
  
  'Do While ignoreErrors = True  | -> Ohne "Loop" in der übernächsten Zeile ist die While-Schleife fehlerhaft.
  '  On Error Resume Next        | -> Kommt in die nächste Zeile "Loop", führt die fertige While-Schleife zu einem Zusammenbruch!
  
  'On Error Resume Next
  Application.DisplayAlerts = False
  
  'Application.OnKey "%^+f", "ChangeErrorIgnroing" -> Fehler: OnKey existiert hier nicht (und kleiner Tippfehler beim Makronamen :) )
  
  
End Sub

Sub ChangeErrorIgnoringOld()
  If ThisDocument.ShowGrammaticalErrors = False And ThisDocument.ShowSpellingErrors = False Then
    ThisDocument.ShowGrammaticalErrors = True
    ThisDocument.ShowSpellingErrors = True
  Else
    ThisDocument.ShowGrammaticalErrors = False
    ThisDocument.ShowSpellingErrors = False
  End If
End Sub

Sub AddKeyTo_ChangeErrorIgnoring()
  'Quelle: https://dr-thormaehlen.de/WORD/Makros_erstellen_und_aufrufen.pdf, Seite 6 von 11
  Dim kb As KeyBinding
  With Application
    .CustomizationContext = ActiveDocument
    Set kb = .FindKey(BuildKeyCode(wdKeyControl, wdKeyAlt, wdKeyShift, wdKeyF))
    'Ist das Tastaturkürzel bereits zugewiesen?
    'If Len(kb.Command) > 0 Then
    '  MsgBox kb.KeyString & " Tastenkürzel gehört bereits zum Befehl " & vbCrLf & "'" & _
    '  kb.Command & "'", vbInformation, "Tastenzuordnung"
    'Else
      .KeyBindings.Add _
        KeyCode:=BuildKeyCode(wdKeyControl, wdKeyAlt, wdKeyShift, wdKeyF), _
        KeyCategory:=wdKeyCategoryMacro, _
        Command:="ChangeErrorIgnoring"
    '  MsgBox "KeyBindingsAdd = " & _
    '    .FindKey(BuildKeyCode(wdKeyControl, wdKeyAlt, wdKeyShift, wdKeyF)).Command, _
    '    vbInformation, "Tastenzuordnung"
    'End If
 End With
End Sub

Sub ChangeErrorIgnoringOld2()
  If ignoreErrors = True Then
    ignoreErrors = False
    On Error GoTo 0
  Else
    ignoreErrors = True
    On Error Resume Next
  End If
  
End Sub


Sub ChangeErrorIgnoring()
  If Application.DisplayAlerts = True Then
    Application.DisplayAlerts = False
  Else
    Application.DisplayAlerts = True
  End If
End Sub

Kann mir jemand bitte weiterhelfen? Ich komme irgendwie einfach nicht weiter.

LG


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Fehler unterdrücken
17.11.2021 09:26:16 Zero
NotSolved
18.11.2021 20:01:15 xlKing
NotSolved