Absturz nach Beendigung eines VBA-Makros

Moderator: ModerationP

Absturz nach Beendigung eines VBA-Makros

Beitragvon RTausD » 18. Mai 2022, 08:19

Hallo allerseits,

ich habe ein Makro erstellt, das Daten aus einer eMail in eine Excel-Datei einträgt und die eMail anschließend in einen anderen Ordner verschiebt.

Da ich aus Outlook anscheinend weder Sort-, noch Search-Befehl ausführen kann, muss ich die Datei Zeile für Zeile überprüfen.

Das funktioniert grundsätzlich.

Jetzt habe ich aber das Problem, dass Outlook abstürtzt (geschlossen wird), wenn das Makro nicht mehr ausgeführt wird.

Ich hatte zunächst den Verdacht, dass irgendein Befehl dieses auslöst. Dann ist mir aber aufgefallen, dass das auch aufritt, wenn ich das Makro abbreche.
Hingegen tritt das Problem nicht auf, wenn ich bei der Suche nach der entsprechenden Zeile in der Excel-Datei nach jeder überprüften Zeile einen Msgbox-Befehl ausführe.

Es passiert auch nicht direkt nach Beendigung/Abbruch des Makros, sondern erst ein paar Sekunden später.

Hat jemand eine Idee, woran das liegen könnte?

Oder noch besser - kann mir jemand sagen, wie ich den Search-Befehl von Excel aus Outlook heraus ausführen kann?

VIELEN DANK in Voraus

Rolf
RTausD
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 329
Registriert: 24. Feb 2007, 10:51
Wohnort: 35683 Dillenburg

Re: Absturz nach Beendigung eines VBA-Makros

Beitragvon mmarkus » 18. Mai 2022, 19:33

RTausD hat geschrieben:Hat jemand eine Idee, woran das liegen könnte?


Ohne Code wohl kaum - aber das gehört ja auch eher ins Excel Forum.

RTausD hat geschrieben:kann mir jemand sagen, wie ich den Search-Befehl von Excel aus Outlook heraus ausführen kann?


Da gibts keinen Unterschied ob von Outlook oder von Excel aus.
Man muss nur darauf achten, sauber auf die Objekte zu referenzieren.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2319
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Absturz nach Beendigung eines VBA-Makros

Beitragvon RTausD » 19. Mai 2022, 10:15

Hallo MMarkus,

ich glaube ich habe die Ursache gefunden, wenngleich es mich doch sehr verwundert.

Da die Liste recht lang ist und ich vermeiden wollte, dass der User denkt, das Makro habe sich aufgehängt, wollte ich für den User jeweils die gerade bearbeitete Zeile auswählen lassen.
Auch wenn das ein simpler Befehl ist, ist es anscheinend in der Menge zu viel. :o
Ich habe daher den Befehl um eine Bedingung ergänzt, so dass nur jede 50. Zeile ausgewählt wird. Und schon ist das Problem behoben. :)

Code: Alles auswählen
    Spalte_Servicepartner = "C"
    Spalte_Bestellung = "D"
    Spalte_Auftrag = "E"
    Zeile = 3
    While ExcelApp.Range(Spalte_Servicepartner & Zeile) <> ""
        If Zeile / 50 = Int(Zeile / 50) Then ExcelApp.Range(Spalte_Servicepartner & Zeile).Select
        On Error Resume Next
        If ExcelApp.Range(Spalte_Bestellung & Zeile) <> "" Then ExcelApp.Range(Spalte_Bestellung & Zeile) = Format(Trim(Str(ExcelApp.Range(Spalte_Bestellung & Zeile))), ">")
        If ExcelApp.Range(Spalte_Auftrag & Zeile) <> "" Then ExcelApp.Range(Spalte_Auftrag & Zeile) = Format(Trim(Str(ExcelApp.Range(Spalte_Auftrag & Zeile))), ">")
        On Error GoTo 0
        Zeile = Zeile +1
    Wend


Im eigentlichen Code passiert natürlich noch viel mehr in der While Wend Schleife. Aber das wäre hier sicher zu viel. :wink:

Wegen dem Search- und Sort-Befehl mache ich dann eine neue Anfrage auf.

Grüße

Rolf
RTausD
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 329
Registriert: 24. Feb 2007, 10:51
Wohnort: 35683 Dillenburg


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast