Thema Datum  Von Nutzer Rating
Antwort
03.08.2022 11:06:13 Buki
Solved
Blau Outlook-Makro funktioniert nur im Debugger (Einzelschritt)
03.08.2022 20:19:06 xlKing
NotSolved
04.08.2022 10:59:46 Gast70877
NotSolved
03.08.2022 21:10:28 Gast81084
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
03.08.2022 20:19:06
Views:
411
Rating: Antwort:
  Ja
Thema:
Outlook-Makro funktioniert nur im Debugger (Einzelschritt)

Hallo Buki,

ich hab zwar leider kein Outlook und kann dir daher nur bedingt helfen. Aber ich kann dir ein bisschen was über die korrekte Verwendung von VBA erzählen. Hier mal ein paar Gedanken, die mir beim Lesen deiner Frage im Kopf rumschwirrten.

Die Schleife Do While bFolderFound wird nur ausgeführt wenn bFolderFound zuvor auf True gesetzt wurde. Ich vermute mal, das passiert in dem hier nicht gezeigten Codeausschnitt [...]

Outlook.ActiveExplorer.Selection gibt zunächst erstmal ein Selection-Objekt zurück. Ob dieses überhaupt eine Auflistung enthält, kannst du dann mit dessen Count-Eigenschaft ermitteln. Ist der Wert >1 ist alles in Ordnung. Bei 0 wird die For Each-Schleife nicht durchlaufen. Als nächstes ist die Art der zurückgegebenen Objekte interessant. Ob es sich um Objekte vom Typ AppointmentItem, MailItem, MeetingItem, oder TaskItem handelt kannst du mit der Location-Eigenschaft bestimmen. Oder du gibst einfach das erstbeste Item der Auswahl zurück und verwendest die Typename-Funktion um zu ermitteln was du da vor dir hast. So weißt du zumindest schonmal, ob du überhaupt die richtigen Objekte zurückgibst.

In 99,5% aller Fälle, kann man Auflistungsobjekte mit For Each durchlaufen. Das ist richtig. Manchmal gibt es aber auch Auflistungen, die nicht auf For Each reagieren. (z.B. im Scripting.Filesystem-Objekt). Solche Objekte kannst du dann leider nur mit einer normalen For-To-Next-Schleife von 1 bis .Count durchlaufen und das gewünschte Objekt über dessen Itemindex anwählen. Ob Das Selection-Objekt in Outlook For Each unterstützt weiß ich nicht. Kannst du nur probieren. In den Beispielen der Microsoft-Docs wird immer nur die For-To-Next-Variante verwendet.

Dass dein Beispiel im Einzelschritt funktioniert kann ich mir nicht vorstellen. Denn spätestens bei DoWhatMustBeDone sollte ein Laufzeitfehler aufpoppen. Hier hast du schlicht eine falsche Schreibweise gewählt. Richtig wäre entweder Call DoWhatMustBeDone(oCurItem) oder DoWhatMustBeDone oCurItem Falls du dann noch immer einen Fehler erhältst, solltest du den Parameter oCurItem in deiner Sub mit dem Schlüsselwort ByVal definieren. Diese Fehler kommen natürlich nicht, wenn du mit OnError arbeitest. Dann merkst du evtl. gar nicht, wenn etwas falsch ist.

Was stört dich genau an CurrentFolder.Items.Item(i) ? Das sollte theoretisch genauso arbeiten, wie man es erwartet. Bei der Zuweisung zu Variablen, darfst du natürlich nicht das Set vergessen.

Mehr fällt mir zu dem Thema erstmal nicht ein. Vielleicht findet sich ja hier doch noch jemand, der deinen Code im Outlook testen kann und uns verrät woran es nun wirklich hakt.

Gruß Mr. K.
 


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
03.08.2022 11:06:13 Buki
Solved
Blau Outlook-Makro funktioniert nur im Debugger (Einzelschritt)
03.08.2022 20:19:06 xlKing
NotSolved
04.08.2022 10:59:46 Gast70877
NotSolved
03.08.2022 21:10:28 Gast81084
NotSolved