Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme mit Loop - Fehler 438

Probleme mit Loop - Fehler 438
24.09.2017 15:39:05
Jochen
Schönen Sonntag Euch allen.
Ich komm nicht weiter.
Ich hab nen Command-Butten erstellt; wenn man drauf klickt, soll das Makro Mail abgearbeitet werden. Hierbei soll zuerst das Excel-Fenster minimiert und dann das Outlook Mail-Fenster maximiert werden . Wenn in Outlook auf "Senden" oder auf "Beenden" (x oben rechts) geklickt wird, soll Outlook zugehen.
Bis hierhin alles gut.
Dann soll aber das Excel-Fenster wieder maximiert werden.
Habe den folgenden Code ausprobiert und ihn in ein Modul gepackt:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub Mail()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Application.WindowState = xlMinimized
With objMail
.To = "test@asdf.com"
.Subject = "Testweise"
objMail.Display
Do
Sleep 1000
Loop Until objMail.Busy = False
.Quit
End With
Set objOutlook = Nothing
Set objMail = Nothing
Application.WindowState = xlMaximized
End Sub
Wie gesagt: Bis Outlook beenden klappt alles, dann aber blinkt das Excel-Fenster in der Taskleiste schon und die Fehlermeldung:
"Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht".
Beim Debuggen wird in der Office-Version (2016), die ich hier laufen hab, keine Zeile des Codes markiert. In der Office 2013 Version wird die Zeile "Loop Until objmail.Busy = False" gelb gemarkert.
Ich komm nicht weiter, bin aber auch nicht dieee riesige Leuchte, was VBA angeht. Bin da eher bescheiden und sag: Blicke da meist nicht durch. 17
Aber ich hab rausgefunden, dass das Sleep korrekt ist, was ich erst nicht glauben wollte. Aber es schaut immer nach, ob Outlook noch läuft.
Für entsprechende Hilfe wäre ich äußerst dankbar!
Liebe Grüße
Jochen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Loop - Fehler 438
25.09.2017 09:24:21
EtoPHG
Hallo Jochen,
1. Das MailItem in Outlook wird asynchron gestartet. D.h. es existiert keine Verbindung zwischen Outlook und Excel nach dem .Display
2. Es gibt keine Eigenschaft .Busy des MailItem, darum der Fehler!
3. Du musst ggf. eine Lösung über eine API-Funktion suchen/finden, wenn du diese Verhalten genau so willst, wie du es beschrieben hast.
Gruess Hansueli
AW: Probleme mit Loop - Fehler 438
25.09.2017 14:56:50
Jochen
Hallo Hansueli,
Schade, ich dachte, das würde aus VBA raus funktionieren.
Leider blick ich bei API überhaupt nicht durch, noch viel weniger als bei VBA. Wird mir echt zu kompliziert, drum klink ich mich da aus.
Es sei, Du hättest ne einfach nachzuvollziehende Anleitung, wie ich das bewerkstellige?
Ansonsten wünsch ich noch einen schönen Tag!
Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige