Makro stürzt ab
Hi bin noch sehr ungeübt im umgang mit VBA Programmierung und habe folgendes Problem,
wo ich nicht mehr weiter komme.
Ich öffne ein Worddokument. In diesem Dokument ist ein Button vorhanden.
Beim klicken auf diesen Button wird eine Userform aufgerufen in der man ein Dokument (Word) auswählen kann, welches nach verschiedenen Stichworten durchsucht werden soll.
Es kann unterschieden werden zwischen .doc und .docx .
Das habe ich folgendermaßen gelöst:
If Right(Textdokument, 5) = ".docx" Then
Windows(Textdokument).Activate
Else:
If Right(Textdokument, 4) = ".doc" Then
Windows(Textdokument & " [Kompatibilitätsmodus]").Activate
Das Makro prüft Quasi von Rechts den Dateipfad und kann somit die Versionen erkennen.
Mein eigentliches Problem ist jetzt das von Zeit zu Zeit (meistens beim ersten Start des Programms) mir ein Fehler ausgegeben wird, das das angeforderte Element nicht in der Sammlung vorhanden ist (Laufzeitfehler 5941).
Wenn ich es danach noch mal ausführe funktioniert es.
Kann ich das vorher irgendwie Abfangen?
Gruß an alle
wo ich nicht mehr weiter komme.
Ich öffne ein Worddokument. In diesem Dokument ist ein Button vorhanden.
Beim klicken auf diesen Button wird eine Userform aufgerufen in der man ein Dokument (Word) auswählen kann, welches nach verschiedenen Stichworten durchsucht werden soll.
Es kann unterschieden werden zwischen .doc und .docx .
Das habe ich folgendermaßen gelöst:
If Right(Textdokument, 5) = ".docx" Then
Windows(Textdokument).Activate
Else:
If Right(Textdokument, 4) = ".doc" Then
Windows(Textdokument & " [Kompatibilitätsmodus]").Activate
Das Makro prüft Quasi von Rechts den Dateipfad und kann somit die Versionen erkennen.
Mein eigentliches Problem ist jetzt das von Zeit zu Zeit (meistens beim ersten Start des Programms) mir ein Fehler ausgegeben wird, das das angeforderte Element nicht in der Sammlung vorhanden ist (Laufzeitfehler 5941).
Wenn ich es danach noch mal ausführe funktioniert es.
Kann ich das vorher irgendwie Abfangen?
Gruß an alle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 141018
Url: https://administrator.de/contentid/141018
Ausgedruckt am: 26.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo jo4884,
Zu erste einmal Else mit einem dopple Punkt?
Habe ich etwas verpasst in VBA oder nur ein Übertragungsfehler?
Poste bitte einmal das gesamte Programm nicht immer ist der Fehler in der Zeile, welche VBA als verkehrt markiert zu suchen.
Dann wäre noch interessant zu wissen ob du die einzelnen Zeilen schon getestet hast.
Ich meine also jede Zeile als eigenes Makro getestet.
Und dann noch einen Tipp.
If Right(Textdokument, 5) = ".docx" Then
Versuche das Ergebnis von "Right(Textdokument, 5) " in eine Variable zu packen und dann erst die Abfrage zu gestalten. Gleiches gilt auch für den vergleichs Wert.
Ich hatte es in letter Zeit, dass genau bei solchen Zeile die Deklarierung nicht funktionierte o.ä. Probleme auftraten. Am besten die Variablen dann auch noch gleich deklarieren.
Gruß
duffman521
Zu erste einmal Else mit einem dopple Punkt?
Habe ich etwas verpasst in VBA oder nur ein Übertragungsfehler?
Poste bitte einmal das gesamte Programm nicht immer ist der Fehler in der Zeile, welche VBA als verkehrt markiert zu suchen.
Dann wäre noch interessant zu wissen ob du die einzelnen Zeilen schon getestet hast.
Ich meine also jede Zeile als eigenes Makro getestet.
Und dann noch einen Tipp.
If Right(Textdokument, 5) = ".docx" Then
Versuche das Ergebnis von "Right(Textdokument, 5) " in eine Variable zu packen und dann erst die Abfrage zu gestalten. Gleiches gilt auch für den vergleichs Wert.
Ich hatte es in letter Zeit, dass genau bei solchen Zeile die Deklarierung nicht funktionierte o.ä. Probleme auftraten. Am besten die Variablen dann auch noch gleich deklarieren.
Gruß
duffman521