E-Mail aus Excel

Outsider77

Erfahrenes Mitglied
Hallo zusammen,
in der Firma, in der ich arbeite, benutzen wir für das Sammeln von Daten eine Excel-Datei, die sich auf einem Netzlaufwerk befindet.
Bei Einträgen in bestimmten Zellen wird automatisch eine E-Mail über Outloook versendet.
Auf den XP-Rechnern klappt das auch ohne Probleme.
Auf den Windows7-Rechnern (64 Bit) wird bei geschlossenem Outlook die E-Mail in den Postausgang abgelegt, aber (noch) nicht verschickt.
Erst beim manuellen Öffnen von Outlook wird diese Mail dann verschickt.

Hier mal der Code:
Visual Basic:
Sub mail()
Dim outlapp As Object

Set outlapp = CreateObject("Outlook.Application")

With olApp.CreateItem(0)
    'Empfänger
    .To = "Empfänger"
    .cc = "*Kopie"
    .bcc = "Blindkopie"
    .SentOnBehalfOfName = "Im Auftrag von..."
    'Betreff
    .Subject = "Betreff"
    'Nachricht
    '.Body = Textzeilen
    .htmlbody = "Text"
    'Lesebestätigung aus
    .ReadReceiptRequested = False
    'Dateianhang
    '.Attachments.Add "c:\Dok1.doc"
    .Send
End With

Set olApp = Nothing
End Sub

Kann mir bitte jemand erklären, wo der Fehler liegt?
Muß ich die Instanz für die 64-Bit-Variante von Outlook anders ansprechen?

Vielen Dank schon mal!

Gruß Outi
 
Und du bist dir sicher, dass auf den XP-Rechnern bei geschlossenem Outlook die E-Mail sofort verschickt wird? Weil ich wüsste nicht wie das gehen sollte.....
 
Hallo,

ihr habt recht. Ist mir bis dato gar nicht aufgefallen,
weil die beim Öffnen von Outlook sehr schnell verschwindet.
Ok, dann sorry für die eigentlich unnütze Frage!

Gibt es denn eine andere Möglichkeit, die Mail ohne extra Öffnen von Outlook zu senden?
Bzw. könnte ich Outlook automatisch starten lassen (dann würde die Mail je verschickt) und
dann Outlook wieder schließen lassen? Frage ist, wie schließt man ein Programm, welches man
mittels shell gestartet hat?
 
Zuletzt bearbeitet:
Du musst dir per GetProccessID die Proccess-ID holen und dann mit TerminateProcess das abschiessen
 
Korrektur zu meinem post: der rückgabe-wert der shell-funktion IST die process-id, also braucht man keinen API-call um die PID herauszufinden.
 
Zurück