VBA-Skript in Exchange Server 2013 laufen lassen zum Generieren von Mails bei Anlegen von Kalendereinträgen
Hallo Admins,
ich habe eine Frage an alle, die sich damit auskennen, im Exchange Server VBA-Makros laufen zu lassen:
Vorgeschichte:
Ein Kunde möchte Mails an eine bestimmte Adresse gesendet haben, wenn jemand in einem Kalender, den er in seinem Profil hat, einen Termin anlegt. Dazu wurde im VBA-Editor (Alt + F11, Skript in ThisOutlookSession erstellt) folgendes Script erstellt und als Makro laufen gelassen:
Das Script versendet zuverlässig Mails, wenn neue Termine im Kalender von Nutzer1 erstellt werden an Nutzer2. Allerdings nur unter der Bedingung, dass Outlook an dem PC läuft, auf dem das VBA-Script eingerichtet wurde. Werden Termine erstellt, wenn dieser PC aus ist oder Outlook nur geschlossen wurde, werden nachträglich keine Mails mehr für diesen Termin versendet. Wenn sich der Kunde nun darauf verlässt, dass er eine Mail bekommt, wenn ein neuer Termin angelegt wurde, geht ihm dieser Termin "durch die Lappen".
Der Kunde nutzt einen Exchange Server 2013 und Outlook 2010 bzw. Outlook 2013 an seinen PCs.
Gibt es eine Möglichkeit, ein solches Script direkt im Exchange-Server als Makro laufen zu lassen, sodass die Mails automatisch vom Server gesendet werden, sobald ein Termin im Kalender von Nutzer 1 angelegt wird? Damit müsste der Kunde seinen PC bzw. sein Outlook nicht mehr dauernd angestellt lassen und würde trotzdem bei allen neuen Terminen durch Mails benachrichtigt.
Falls das Script umgestellt werden muss, würde ich mich über den editierten Code sehr freuen.
Viele Grüße,
Sinzal
ich habe eine Frage an alle, die sich damit auskennen, im Exchange Server VBA-Makros laufen zu lassen:
Vorgeschichte:
Ein Kunde möchte Mails an eine bestimmte Adresse gesendet haben, wenn jemand in einem Kalender, den er in seinem Profil hat, einen Termin anlegt. Dazu wurde im VBA-Editor (Alt + F11, Skript in ThisOutlookSession erstellt) folgendes Script erstellt und als Makro laufen gelassen:
Private WithEvents colAndererKalenderItems As Outlook.Items
Private Sub Application_Startup()
Dim Folder As Outlook.MAPIFolder
Set Folder = Application.Session.Folders("nutzer1@domain.de").Folders("Kalender")
Set colAndererKalenderItems = Folder.Items
End Sub
Private Sub colAndererKalenderItems_ItemAdd(ByVal Item As Object)
Dim objMsg As MailItem
If TypeOf Item Is Outlook.AppointmentItem Then
Set objMsg = Application.CreateItem(olMailItem)
objMsg.To = "nutzer2@domain.de"
objMsg.Subject = "Termin angelegt: " & Item.Subject
objMsg.Body = _
"Start: " & Item.Start & vbCrLf & _
"End: " & Item.End & vbCrLf & _
"Location: " & Item.Location & vbCrLf & _
"Details: " & vbCrLf & Item.Body
objMsg.Send
End If
Set objMsg = Nothing
End Sub
Das Script versendet zuverlässig Mails, wenn neue Termine im Kalender von Nutzer1 erstellt werden an Nutzer2. Allerdings nur unter der Bedingung, dass Outlook an dem PC läuft, auf dem das VBA-Script eingerichtet wurde. Werden Termine erstellt, wenn dieser PC aus ist oder Outlook nur geschlossen wurde, werden nachträglich keine Mails mehr für diesen Termin versendet. Wenn sich der Kunde nun darauf verlässt, dass er eine Mail bekommt, wenn ein neuer Termin angelegt wurde, geht ihm dieser Termin "durch die Lappen".
Der Kunde nutzt einen Exchange Server 2013 und Outlook 2010 bzw. Outlook 2013 an seinen PCs.
Gibt es eine Möglichkeit, ein solches Script direkt im Exchange-Server als Makro laufen zu lassen, sodass die Mails automatisch vom Server gesendet werden, sobald ein Termin im Kalender von Nutzer 1 angelegt wird? Damit müsste der Kunde seinen PC bzw. sein Outlook nicht mehr dauernd angestellt lassen und würde trotzdem bei allen neuen Terminen durch Mails benachrichtigt.
Falls das Script umgestellt werden muss, würde ich mich über den editierten Code sehr freuen.
Viele Grüße,
Sinzal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 285028
Url: https://administrator.de/forum/vba-skript-in-exchange-server-2013-laufen-lassen-zum-generieren-von-mails-bei-anlegen-von-kalendereintraegen-285028.html
Ausgedruckt am: 18.04.2025 um 02:04 Uhr
2 Kommentare
Neuester Kommentar
Früher ja.
Bis EX2003 konntest Du das durch sog. "Event Sinks" per Script recht gut lösen.
Bei den neueren EXen kommst Du unter Umständen nicht drumherum einen eigenen Transport Agent zu basteln...
http://stackoverflow.com/questions/9674329/running-script-on-exchange-2 ...
Es gibt sogar ein passendes SDK dafür...
Bis EX2003 konntest Du das durch sog. "Event Sinks" per Script recht gut lösen.
Bei den neueren EXen kommst Du unter Umständen nicht drumherum einen eigenen Transport Agent zu basteln...
http://stackoverflow.com/questions/9674329/running-script-on-exchange-2 ...
Es gibt sogar ein passendes SDK dafür...