Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
268to272
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
268to272
268to272
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA soll warten

VBA soll warten
18.06.2003 09:54:15
EgonF
Hallo,

ich habe 'mal wieder ein Problem damit VBA warten zu lassen.
Nachdem ich mit eurer Hilfe VBA warten lassen kann, wenn ich ein anderes Programm mit Shell aufrufe, gelingt mir dies in folgendem Fall nicht.

Ich muss nacheinander eine Email an 72 Kunden versenden, jeweils mit spezifischen Anhängen. Wenn ich das Makro ablaufen lasse werden in sekundenschnelle alle 72 Emails versendet und dann reagiert das Programm auf nichts mehr, tut aber irgendetwas im Hintergrund (das Versenden einer Email -ca. 800KB- dauert ja )
Mit WaitTillFinished und Konsorten bin ich nicht weiter gekommen.

Mein Code:
Set OutApp = CreateObject("Outlook.Application")
For n = 1 To 72
PathKunden = "C:\Test\K" & n
FileKunde = "K" & n & ".xls"
Empfaenger = "EgonF1@gmx.de"

Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Empfaenger
.Subject = "Neue Mitteilung" & n
.Attachments.Add PathKunde & "\" & FileKunde
.send
End With

''' hier müsste das Programm jetzt warten, bis die Datei versendet wurde
Next

Set Nachricht = Nothing
Set OutApp = Nothing

Mache ich es vielleicht prinzipiell falsch?

Dazu noch die Frage:
Kann ich irgendwie feststellen, welche Programme (und deren TaskID) laufen. Dann könnte ich mir ja helfen.

Viele Grüße

Egon Franke


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA soll warten
18.06.2003 10:24:07
RAnton

Hallo Franke,
willst wirklich auf jede einzelne Mail warten, bis sie verschickt wurde?

Gruß
RAnton

Re: VBA soll warten
18.06.2003 10:56:38
EgonF

Hallo Anton,

natürlich nicht, aber so wie ich es jetzt mache werden alle 72 emails abgearbeitet und dann ist Excel vollkommen blockiert.

Der Code wie beschrieben ist offensichtlich nur dann gut, wenn man eine einzige Mail ohne großen Anhang verschicken will, weil Excel offensichtlich solange blockiert ist, wie Outlook mit dem Versand zu tun hat.

Egon


Re: VBA soll warten
18.06.2003 11:06:52
RAnton

Hallo,
ok habe verstanden.

Dann mache doch für die Versendung der Mail einen eigenen Thread auf und lass die Mails im Hintergrund abarbeiten.
Dann kannst du mit Excel weiterarbeiten.

Gruß
RAnton

Anzeige
Re: VBA soll warten
18.06.2003 11:46:25
EgonF

Hallo Anton,

ich bin nicht so bewandert. Was heißt einen eigenen Tread aufmachen? Wie macht man das in VBA? Kannst du mir das an einem Beispiel mitteilen?
Wenn die Beantwortung zu umfangreich ist, kannst du mir vielleicht sagen wo ich mich weiter informieren kann. Die Beispiele von der Herber-CD habe ich schon ausprobiert (siehe Code-Beispiel).

In einem anderen Programmteil muss ich allerdings wirklich warten, bis der Versand erledigt ist, weil ich an mehrere Kunden eine gleichnamige Datei (aber mit anderem Inhalt) nacheinander aus demselben Ordner heraus versenden muss. Jetzt ist das so, dass die Datei xy.xls versendet wird und das VBA-Programm möchte die Datei schon löschen, die neue Version kopieren und versenden usw., da muss also wirklich gewartet werden. Ich kann aber nicht feststellen ob Outlook -so wie von VBA aufgerufen- noch geöffnet ist.
In den Büchern, die ich durchforstet habe, steht über diese Problematik auch nichts. Nur immer über die prinzipielle Methode.

Egon


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige