Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
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

Information aus Excel an Outlook VBA Makro übergeb

Information aus Excel an Outlook VBA Makro übergeb
17.08.2008 18:48:53
Christian
Hallo zusammen,
ich wüsste gerne, wie ich in einem Outlook Makro auf Daten, die in einer Excel Tabelle stehen, zugreifen kann.
Ich verwende ein Outlook Makro welches eine Excel-Datei als e-mail-Anhang an einen Empfänger sendet und wie folgt aussieht:
----------

Sub versand()
Dim myolMItem As Outlook.MailItem
Dim myolAtt As Outlook.Attachments
Dim empfänger, datei As String
Set myolMItem = Application.CreateItem(olMailItem)
myolMItem.Save
Set myolAtt = myolMItem.Attachments
empfänger = "lala@lala..de"
datei = "C:\Dokumente und Einstellungen\Christian\Eigene Dateien\test.xls"
myolAtt.Add datei
myolMItem.To = empfänger
myolMItem.Subject = "lalala"
myolMItem.Body = "lalala"
myolMItem.Send
End Sub


---------
Nun habe ich aber mehrere Emfängerkreise und für jeden Empfängerkreis eine bestimmte Datei.
Ich würde also gerne in das Outlook Makro eine Schleife einbauen, bei der die Liste der Empfänger Zeile für Zeile abgearbeitet wird. Nehmen wir also mal an, in einer Hilfsdatei in Excel stehen in Spalte A 30 e-mailadressen und in Spalte B die Pfade der Dateien / e-mail-Anhänge die den Empfänger geschickt werden sollen.
Dann würde ich eine Schleife benutzen die in etwa so aussieht:
For e = 1 To 30
empfänger = Cells(e, 1)
dateipfad = Cells(e,2)
myolAtt.Add dateipfad
myolMItem.To = empfänger
myolMItem.Subject = "lalala"
myolMItem.Body = "lalala"
myolMItem.Send
Next e
Wie ist der richtige Syntax für die beiden Zeilen "empfänger = Cells(e, 1)" und "datei = Cells(e,2)" so dass das Outlook Makro sich die Daten aus der Hilfsdatei in Excel zieht?
Besten Dank im Voraus und Grüße,
Christian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Information aus Excel an Outlook VBA Makro übe
17.08.2008 20:38:00
Christian
Hallo Reiner,
die Syntax ist soweit korrekt, wenn man das Makro in Excel an der Datei dran hat und sich der Befehl dann eben auf das aktive Workbook bezieht.
Das Makro welches ich verwende ist aber ja ein Outlook Makro. So klappt das also nicht. Es muss irgendeinen Befehl geben, mit dem ich aus dem Outlook Makro heraus mittels Dateipfad auf eine Excel Datei und dann eben auf die bestimmte Zelle zugreifen kann...
Gruß,
C.

Anzeige
AW: Information aus Excel an Outlook VBA Makro übe
17.08.2008 21:15:00
Ramses
Hallo
Sorry, ich dachte jemand der in Outlook Makros programmiert, kennt sich mit der Object Erstellung aus
Wie gesagt, die Syntax ist prinzipiell korrekt.
Ungetestet, sollte aber tun
Sub versand()
    Dim myExcel As Object
    Dim myWkb As Object
    Dim myWks As Object
    Set myExcel = CreateObject("Excel.Application")
    Set myWkb = myExcel.Workbooks.Open("C:\DeineDatei.xls")
    Set myWks = myWkb.Worksheets("Tabelle1")
    Dim myolMItem As Outlook.MailItem
    Dim myolAtt As Outlook.Attachments
    Dim empfänger, datei As String
    Dim i As Long
    Set myolMItem = Application.CreateItem(olMailItem)
    Set myolAtt = myolMItem.Attachments
    datei = "C:\Dokumente und Einstellungen\Christian\Eigene Dateien\test.xls"
    With myWks
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            myolAtt.Add datei
            myolMItem.to = .Cells(i, 1)
            myolMItem.Subject = "lalala"
            myolMItem.Body = "lalala"
            myolMItem.Send
        Next i
    End With
End Sub

Gruss Rainer

Anzeige
AW: Information aus Excel an Outlook VBA Makro übe
17.08.2008 22:32:27
Christian
Hallo Rainer,
naja heute ist mein erster Tag in Sachen in Outlook Makros programmieren, daher kenne ich mich mit der Objekterstellung nicht so wirklich aus.
Aber ich habe ja einen guten Lehrer, nämlich dich :)
Vielen vielen Dank für den Code, das bringt mich einen riesen Schritt voran.
Der Versand klappt, wenn man in der Hilfsdatei in der die e-mailadressen stehen nur einen Namen stehen hat, wenn also die for Schleife nur einmal durchlaufen wird. Wenn ich 2 Adressaten in der Datei aufgelistet habe gibts einen Laufzeitfehler '-1421852667 (ab404005)' und der Debugger signalisiert mir, dass er sich bei der Zeile " myolAtt.Add datei" aufhängt.
Wenn ich vor diese Zeile ein Hochkomma setze gibt es trotzdem einen Laufzeitfehler in der nächsten Zeile mit dem Hinweis "Das Element wurde verschoben oder gelöscht".
Was mir auch sehr strange vorkommt ist, dass ich obwohl ich nach Auftreten des Fehlers Outlook und auch Excel komplett geschlossen habe, ein erneutes Öffnen der Hilfsdatei nur schreibgeschützt möglich ist, da ich offenbar selber die Datei noch geöffnet habe...
Wenn du weißt woran das liegt dass die Schleife nur einmal funktioniert, lass es mich bitte wissen.
In jedem Fall aber schon mal vielen Dank.
Grüße,
C.

Anzeige
AW: Information aus Excel an Outlook VBA Makro übe
17.08.2008 22:35:00
Ramses
Hallo
wie gesagt, war ungetestet.
Stell den Code mal so um
Sub versand()
    Dim myExcel As Object
    Dim myWkb As Object
    Dim myWks As Object
    Set myExcel = CreateObject("Excel.Application")
    Set myWkb = myExcel.Workbooks.Open("C:\DeineDatei.xls")
    Set myWks = myWkb.Worksheets("Tabelle1")
    Dim myolMItem As Outlook.MailItem
    Dim myolAtt As Outlook.Attachments
    Dim empfänger, datei As String
    Dim i As Long
    datei = "C:\Dokumente und Einstellungen\Christian\Eigene Dateien\test.xls"
    With myWks
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            Set myolMItem = Application.CreateItem(olMailItem)
            Set myolAtt = myolMItem.Attachments
            myolAtt.Add datei
            myolMItem.to = .Cells(i, 1)
            myolMItem.Subject = "lalala"
            myolMItem.Body = "lalala"
            myolMItem.Send
            Set myolMItem = Nothing
            Set myollatt = Nothing
        Next i
    End With
End Sub

Gruss Rainer

Anzeige
AW: Information aus Excel an Outlook VBA Makro übe
18.08.2008 06:46:19
Christian
Hallo Rainer,
toll, so klappt es! Vielen Dank für deine Hilfe!
Gruß,
C.

AW: Information aus Excel an Outlook VBA Makro übe
18.08.2008 06:49:11
Christian
Hallo Rainer,
toll, so klappt es! Vielen Dank!
Gruß,
C.

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige