25.04.2018, 18:26
(Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2018, 18:26 von sadikbasme.)
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 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
################ 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
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 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
################ 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