Benutzer mit den meisten Antworten
VBA-Skript in Exchange Server 2013 laufen lassen zum Generieren von Mails bei Anlegen von Kalendereinträgen

Frage
-
Hallo,
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:
<code>
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
</code>
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,
alef4
Antworten
-
Moin,
auf dem Exchange-Server kann man keine Makros laufen lassen.
Die offizielle Programmierschnittstelle heißt "Exchange Webservices". Theoretisch kann man die auch via VBA ansteuern, eine richtige Programmiersprache wie C# ist aber die deutlich bessere Variante.
Das Thema übersteigt aber sicher ein Forum. Außerdem sind hier im deutschen Exchange Forum keine Programmierer unterwegs. Du müsstest also eventuell im englischen Exchange-Entwicklerforum mal anfragen.
Gruesse aus Berlin schickt Robert - MVP Exchange Server
- Als Antwort markiert Teodora MilushevaModerator Montag, 12. Oktober 2015 08:09
Alle Antworten
-
Moin,
auf dem Exchange-Server kann man keine Makros laufen lassen.
Die offizielle Programmierschnittstelle heißt "Exchange Webservices". Theoretisch kann man die auch via VBA ansteuern, eine richtige Programmiersprache wie C# ist aber die deutlich bessere Variante.
Das Thema übersteigt aber sicher ein Forum. Außerdem sind hier im deutschen Exchange Forum keine Programmierer unterwegs. Du müsstest also eventuell im englischen Exchange-Entwicklerforum mal anfragen.
Gruesse aus Berlin schickt Robert - MVP Exchange Server
- Als Antwort markiert Teodora MilushevaModerator Montag, 12. Oktober 2015 08:09