sinzal
Goto Top

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:

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

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

beidermachtvongreyscull
Lösung beidermachtvongreyscull 08.10.2015, aktualisiert am 01.02.2016 um 10:21:44 Uhr
Goto Top
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...
Sinzal
Sinzal 01.02.2016 um 10:23:30 Uhr
Goto Top
Vielen Dank für die Rückmeldung. Dem Kunden ist die Selbstbastellösung vom Transport-Agent zu aufwändig. Er will bei dem alten System bleiben. Kann man wohl nix machen.
Viele Grüße,
Sinzal