21.09.2017, 09:55
(Dieser Beitrag wurde zuletzt bearbeitet: 21.09.2017, 10:16 von morgandalf.
Bearbeitungsgrund: Code in Codetags gesetzt
)
Schönen guten Morgen allerseits,
bin gerade in den letzten Zügen zu einem umfangreichen Programm zur Lagerbestellung in Excel mittels VBA. Eine Kleinigkeit fehlt mir noch, sonst klappt alles:
Den folgenden Code habe ich gebastelt, um aus Excel heraus Outlook aufzurufen und gleichzeitig das Excel Blatt zu minimieren, so dass Outlook im Vordergrund steht.
Soweit klappt auch alles.
Nur wie bekomme ich das hin, wenn ich Outlook schließe, dass das Excel-Blatt dann wieder in seiner vorherigen Ansicht erscheint? Da versag ich momentan ein bisschen.
Die Zeile
Application.WindowState = xlMinimized
habe ich eingebaut, weil mein Excel-Fenster sonst nicht zu sehen ist und das Outlook-Fenster dabei in der Taskleiste blinkt, also nicht wirklich benutzerfreundlich.
Ich dachte, ich schreib nach "End With" einfach
Application.WindowState = xlMaximized
Gute Idee, dacht ich mir, und jetzt sieht mein Code so aus:
Sieht auch recht gut aus dachte ich so bei mir, ABER: Jetzt wird das Excel-Blatt ausgeblendet, Outlook ganz kurz eingeblendet und dann das Excel-Blatt sofort wieder eingeblendet. Also eher wenig hilfreich bis unmöglich.
Deswegen meine Frage: Wie schaff ich es, dass das Excel-Blatt minimiert wird, Outlook eingeblendet wird (und zwar so lange bis Outlook wieder geschlossen wird) und danach das vorherige Excel-Blatt wieder maximiert wird.
Bin nicht soo fit in VBA und würde mich umso mehr um möglichst detaillierte und nachvollziehbar kommentierte Anregungen freuen!
Ich wünsch Euch einen schönen TAg!
Jochem
P.S.: Ich seh grad, dass ich den Beitrag im falschen Forum untergebracht hab. Nicht Excel-Forum, sondern VBA-Forum. Bitte um Verzeihung :22:
bin gerade in den letzten Zügen zu einem umfangreichen Programm zur Lagerbestellung in Excel mittels VBA. Eine Kleinigkeit fehlt mir noch, sonst klappt alles:
Den folgenden Code habe ich gebastelt, um aus Excel heraus Outlook aufzurufen und gleichzeitig das Excel Blatt zu minimieren, so dass Outlook im Vordergrund steht.
Code:
Sub Mail()
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Application.WindowState = xlMinimized
With objMail
.To = [email=asdf@test.com]asdf@test.com[/email]
.Subject = "testweise"
objMail.Display
End With
End Sub
Soweit klappt auch alles.
Nur wie bekomme ich das hin, wenn ich Outlook schließe, dass das Excel-Blatt dann wieder in seiner vorherigen Ansicht erscheint? Da versag ich momentan ein bisschen.
Die Zeile
Application.WindowState = xlMinimized
habe ich eingebaut, weil mein Excel-Fenster sonst nicht zu sehen ist und das Outlook-Fenster dabei in der Taskleiste blinkt, also nicht wirklich benutzerfreundlich.
Ich dachte, ich schreib nach "End With" einfach
Application.WindowState = xlMaximized
Gute Idee, dacht ich mir, und jetzt sieht mein Code so aus:
Code:
Sub Mail()
Set objOutlook = CreateObject("Outlook.Application")
Set objmail = objOutlook.CreateItem(0)
Application.WindowState = xlMinimized
With objmail
.To = [email=asdf@testweise.de]asdf@testweise.de[/email]
.Subject = "Testdingens"
objmail.Display
End With
Application.WindowState = xlMaximized
End Sub
Sieht auch recht gut aus dachte ich so bei mir, ABER: Jetzt wird das Excel-Blatt ausgeblendet, Outlook ganz kurz eingeblendet und dann das Excel-Blatt sofort wieder eingeblendet. Also eher wenig hilfreich bis unmöglich.
Deswegen meine Frage: Wie schaff ich es, dass das Excel-Blatt minimiert wird, Outlook eingeblendet wird (und zwar so lange bis Outlook wieder geschlossen wird) und danach das vorherige Excel-Blatt wieder maximiert wird.
Bin nicht soo fit in VBA und würde mich umso mehr um möglichst detaillierte und nachvollziehbar kommentierte Anregungen freuen!
Ich wünsch Euch einen schönen TAg!
Jochem
P.S.: Ich seh grad, dass ich den Beitrag im falschen Forum untergebracht hab. Nicht Excel-Forum, sondern VBA-Forum. Bitte um Verzeihung :22: