none
Word 2010 VBA merkwürdiger Absturz nach Löschen einer Tabellenzeile RRS feed

  • Frage

  • Hallo,

    ich habe in eine Vorlage (dotm) ein Makro integriert, das verschiedene Zeilen des Formulars in dieser Vorlage nach Bedarf löschen soll. Nach Bedarf meint, ich habe ein Userform mit unterschiedlichen Schaltflächen erstellt. Jede Schaltfläche löscht unterschiedliche Tabellenzeilen im Word-Dokument.

    Beim Löschen einer beliebigen Zeile stürzt unregelmäßig Word ab (alle 3 mal gefühlt), Fehler 1000 im Ereignisprotokoll. Eine Regelmäßigkeit habe ich noch nicht erkennen können. Dieser Absturz erfolgt auch auf unterschiedlichen Systemen. Ich habe keine Ahnung mehr woran das liegen könnte. Dem Beitrag sende ich deshalb den Code mit. Ich habe verschiedene Varianten probiert, deshalb ist die letzte Zeile auskommentiert. 

    'Zeile 6 der Tabelle 3 (FES) wird gelöscht
    Dim wdTable3 As Word.Table
    Set wdTable3 = ActiveDocument.Tables(3)
    wdTable3.Rows(6).Delete
    'Set wdTable3 = Nothing
        

    Im Dokument kann ich sehen, das die Zeile oder Zeilen tatsächlich gelöscht wird. Der Absturz erfolgt erst ca. 30 Sekunden nach der Beendigung des Makros. Die Fehlerbehandlung im Code greift nicht.

    Kann mir jemand helfen?

    Gruß
    Michael Pleick


    Dienstag, 18. November 2014 10:03

Antworten

  • Hallo zusammen,

    ich habe das Problem selbst lösen können. Es tritt nur auf, wenn ich die älteren Formularsteuerelemente benutze. Bei den neuen tritt das Problem nicht auf. Also habe ich das Dokument auf die neuen Inhaltssteuerelemente von Word 2010 umgestellt und (siehe da), es läuft :)

    Gruß
    Michael Pleick

    • Als Antwort markiert Michael Pleick Mittwoch, 19. November 2014 08:48
    Mittwoch, 19. November 2014 08:48

Alle Antworten

  • Hallo,

    meine Annahme es komme vom Löschen der Zeile ist falsch.

    Der Absturz geschieht beim Schützen des Dokuments für die Formulareingabe. Das ist schön das zu wissen, aber eine Idee zur Lösung habe ich nicht. Hier der Code:

    Sub safeDoc()
        On Error GoTo ende
        'ActiveDocument.Protect Password:="", NoReset:=False, Type:= _
             wdAllowOnlyFormFields 'nur Formulareingabe ist erlaubt
        'If ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="gaga"
        'End If
        Exit Sub
    ende:
        MsgBox "Fehler"
    End Sub
    

    wie Ihr seht, habe ich schon ein wenig ausprobiert.

    Gruß
    Michael Pleick

    Dienstag, 18. November 2014 10:39
  • Hallo zusammen,

    ich habe das Problem selbst lösen können. Es tritt nur auf, wenn ich die älteren Formularsteuerelemente benutze. Bei den neuen tritt das Problem nicht auf. Also habe ich das Dokument auf die neuen Inhaltssteuerelemente von Word 2010 umgestellt und (siehe da), es läuft :)

    Gruß
    Michael Pleick

    • Als Antwort markiert Michael Pleick Mittwoch, 19. November 2014 08:48
    Mittwoch, 19. November 2014 08:48