Clever-Excel-Forum

Normale Version: Outlook Taskitem senden => Excel Makro ausführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen :)

ich habe ein kleines Problem und kriege es seit Tagen nicht gelöst. Ich hoffe, dass ihr mir vielleicht dabei helfen könnt!

Kurz und knapp geht´s um folgendes:

Sobald bei einer Outlook Aufgabe (Taskitem) auf das Senden Button geklickt wird, soll im bereits aktivem Excel Workbook ein bestimmtes Makro ausgeführt werden.

Längere und detailliertere Beschreibung:

Es geht um ein Auftragssystem auf Excel Basis, das wie folgt funktionieren soll:

1) User füllt Excel Formular aus
2) User klickt im Excel Formular auf CommandButton -> Makro : Es wird automatisch ein Outlook Taskitem geöffnet/erstellt und mit den notwendigen Daten versehen
3) User nimmt im geöffneten Outlook Taskitem eventuell Ergänzungen/Änderungen vor und klickt danach auf Senden
4) Nach dem Klick auf das Senden Button werden die Daten aus dem ausgefüllten Excel Formular als neue Excel Datei in einem Archiv Ordner abgelegt.

Ich habe bereits alles fertig programmiert, es fehlt nur die Ansteuerung des Makros durch das Senden des Taskitems. 
Sprich; ich muss irgendwie das Event Taskitem send aus Excel heraus überwachen und beim senden automatisch ein Makro ausführen.

Ich weiß leider nur nicht wie ich in Excel VBA das Senden des Outlook Taskitems als trigger zur Ausführung meines Makros verwenden kann Undecided  ich hoffe ihr könnt mir helfen !   

___________________________

Ich bin bei meiner Recherche im Netz auf den folgenden Code gestoßen (Klassenmodul); das sieht soweit interessant aus, nur weiß ich nicht wie ich richtig mit Klassenmodulen umgehen muss bzw. was genau ich damit nun anstelle. (Habe bisher mit allem außer Klassenmodulen gearbeitet :S ) 
Vielleicht liegt die Lösung schon vor meiner Nase und ihr könnt mir dabei helfen das Offensichtliche zu erkennen  Huh

################  Klassenmodul : Die jenige Person hatte dieses Klassenmodul zum Abspeichern der Nachrichten/Aufgaben-Inhalte verwendet. Deshalb steht im " mTaskItem_Send " auch ... saveas..., in meinem Fall würde der Inhalte natürlich anders aussehen. Ich will erstmal nur verstehen, wie das Funktioniert bzw. wie man den Send Status des Taskitems überwachen kann :)

Option Explicit

Private WithEvents mOutlook As Outlook.Application
Private WithEvents mTaskItem As Outlook.TaskItem

Private Sub Class_Initialitze()
    Set mOutlook = New Outlook.Application
End Sub

Public Sub CreateAndDisplayTaskItem()
    Set mTaskItem = mOutlook.CreateItem(olTaskItem)
    With mTaskItem
        .To = "some@address.com"
        .Subject = "Test"
        .Body = "Test Body"
        .Display
    End With
 End Sub
 
Public Sub mTaskItem_Send(Cancel As Boolean)
    mTaskItem.SaveAs "c:\test\test.msg", OlSaveAsType.olMSG
    Debug.Print "Copy Saved"
 End Sub
 

Public Sub Class_Terminate()
    Set mTaskItem = Nothing
    If Not mOutlook Is Nothing Then mOutlook.Quit
    Set mOutlook = Nothing
End Sub

####################

Entschuldigung für den langen Beitrag und ich bedanke mich bereits herzlichst bei allen die helfen können! Danke
Hallöchen,

auf der Codequelle müssten eigentlich auch Hinweise zum Gebrauch stehen. Ansonsten hier mal zwei Links mit Grundlagen der Klassenprogrammierung:

http://www.online-excel.de/excel/singsel_vba.php?f=51
https://de.wikibooks.org/wiki/VBA_in_Exc...ssenmodule