Outlook Besprechung - Skript zum Einfügen von Standarddaten
Hallo zusammen,
ich suche schon seit längerem die Option, bei Outlook-Besprechungen Standard-Daten, die entweder ich einfüge oder die mir durch ein Zoom-Addon automatisch ausgefüllt werden, in das Textfeld einer Nachricht einzufügen.
Bei meiner Suche stieß ich auf diesen Post, befürchte aber, dass das Skript für meinen Ansatz nicht so viel bringen würde.
Automatische Anrede mit Name in Outlook beim Antworten auf Mails
Konkret würde ich mir gerne ein Skript erstellen, das auf die benötigten Daten aus derselben Mail zugreift und mir diese vorausfüllt. Gerne würde ich dabei lernen, wie das Skript funktioniert und wo es die Daten findet, um es für andere Themen umschreiben zu können. Meine Vorerfahrung liegt jedoch leider bei null.
Ein paar grundsätzliche Fragen:
Ist mein Vorhaben mit einem einfachen Skript möglich? Oder kommt das Skript gar nicht an die Daten aus der Eingabemaske heran?
Gibt es vielleicht ein Skript, das solche Funktionen in Teilen ausführt?
Gibt es irgendwo Anleitungen, die helfen, sich solche Skripte selbst zu basteln?
Wie heißen die Parameter in Codeform:
[Besprechungseinladung] [Datum aus Besprechungseinladung] [Zoom-Link aus Besprechungseinladung]
Wie kann ich einzelne Wörter aus dem Titel für die weitere Bearbeitung extrahieren?
Ich hatte auch darüber nachgedacht, solche Funktionen über eine Art Mausbot umzusetzen. Hierfür müsste aber die Fensterposition und -größe immer identisch sein und der Aufwand das zu bewerkstelligen wäre vermutlich nicht viel geringer als ein entsprechendes Skript. Zudem wäre ein Skript natürlich eine 'sauberere' Lösung.
Vielen Dank vorab für jegliche Unterstützung!
ich suche schon seit längerem die Option, bei Outlook-Besprechungen Standard-Daten, die entweder ich einfüge oder die mir durch ein Zoom-Addon automatisch ausgefüllt werden, in das Textfeld einer Nachricht einzufügen.
Bei meiner Suche stieß ich auf diesen Post, befürchte aber, dass das Skript für meinen Ansatz nicht so viel bringen würde.
Automatische Anrede mit Name in Outlook beim Antworten auf Mails
Konkret würde ich mir gerne ein Skript erstellen, das auf die benötigten Daten aus derselben Mail zugreift und mir diese vorausfüllt. Gerne würde ich dabei lernen, wie das Skript funktioniert und wo es die Daten findet, um es für andere Themen umschreiben zu können. Meine Vorerfahrung liegt jedoch leider bei null.
Ein paar grundsätzliche Fragen:
Ist mein Vorhaben mit einem einfachen Skript möglich? Oder kommt das Skript gar nicht an die Daten aus der Eingabemaske heran?
Gibt es vielleicht ein Skript, das solche Funktionen in Teilen ausführt?
Gibt es irgendwo Anleitungen, die helfen, sich solche Skripte selbst zu basteln?
Wie heißen die Parameter in Codeform:
[Besprechungseinladung] [Datum aus Besprechungseinladung] [Zoom-Link aus Besprechungseinladung]
Wie kann ich einzelne Wörter aus dem Titel für die weitere Bearbeitung extrahieren?
Ich hatte auch darüber nachgedacht, solche Funktionen über eine Art Mausbot umzusetzen. Hierfür müsste aber die Fensterposition und -größe immer identisch sein und der Aufwand das zu bewerkstelligen wäre vermutlich nicht viel geringer als ein entsprechendes Skript. Zudem wäre ein Skript natürlich eine 'sauberere' Lösung.
Vielen Dank vorab für jegliche Unterstützung!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 32368078695
Url: https://administrator.de/forum/outlook-besprechung-skript-zum-einfuegen-von-standarddaten-32368078695.html
Ausgedruckt am: 02.04.2025 um 08:04 Uhr
6 Kommentare
Neuester Kommentar
Servus @SchattengestaIt, willkommen auf Administrator.de!
.
https://learn.microsoft.com/de-de/office/vba/outlook/concepts/getting-st ...
https://learn.microsoft.com/de-de/office/vba/api/overview/outlook/object ...
Weitere mögliche Eigenschaften eines AppointmentItems kannst du hier nachschlagen
https://learn.microsoft.com/en-us/office/vba/api/outlook.appointmentitem ...
Habe dir für dein Vorhaben mal eine Vorlage geschrieben die du nach deinen Anforderungen anpassen kannst:
(Den Code solltest du nur ausführen wenn ein entsprechender Inspector geöffnet ist, kannst du dir z.B. auf einen Button legen).
Code Ergebnis mit heutigem Beispiel Meeting:
Viel Erfolg bei deinen ersten Gehversuchen in der Outlook-Automation mittels VBA!
Grüße Uwe
Zitat von @SchattengestaIt:
Ein paar grundsätzliche Fragen:
Ist mein Vorhaben mit einem einfachen Skript möglich?
Ja, "einfach" kommt dann aber auf die Kenntnisse des Betrachters an Ein paar grundsätzliche Fragen:
Ist mein Vorhaben mit einem einfachen Skript möglich?
Oder kommt das Skript gar nicht an die Daten aus der Eingabemaske heran?
Das ist kein Problem.Gibt es vielleicht ein Skript, das solche Funktionen in Teilen ausführt?
s.u.Gibt es irgendwo Anleitungen, die helfen, sich solche Skripte selbst zu basteln?
https://learn.microsoft.com/de-de/office/vba/outlook/concepts/getting-st ...https://learn.microsoft.com/de-de/office/vba/outlook/concepts/getting-st ...
https://learn.microsoft.com/de-de/office/vba/api/overview/outlook/object ...
Wie heißen die Parameter in Codeform:
[Besprechungseinladung] [Datum aus Besprechungseinladung]
Für das aktuelle Element das aktiven Inspectors[Besprechungseinladung] [Datum aus Besprechungseinladung]
ActiveInspector.CurrentItem.Start
[Zoom-Link aus Besprechungseinladung]
Für das aktuelle Element das aktiven InspectorsActiveInspector.CurrentItem.Location
Weitere mögliche Eigenschaften eines AppointmentItems kannst du hier nachschlagen
https://learn.microsoft.com/en-us/office/vba/api/outlook.appointmentitem ...
Wie kann ich einzelne Wörter aus dem Titel für die weitere Bearbeitung extrahieren?
Dafür gibt es mehrere Methoden, z.B. Splitten anhand von Zeichen, extrahieren über Zeichindizes oder Regular Expressions (zuverlässiger wenn sich Text unbekannt ändert, aber für Anfänger komplizierter zu Handhaben).Habe dir für dein Vorhaben mal eine Vorlage geschrieben die du nach deinen Anforderungen anpassen kannst:
(Den Code solltest du nur ausführen wenn ein entsprechender Inspector geöffnet ist, kannst du dir z.B. auf einen Button legen).
Sub InsertStandardAppointmentBody()
' Variablen
Dim cInspector As Inspector, regex As Object, strClientName As String, strMessageType As String, strDate As String
' Objekte initialisieren
Set regex = CreateObject("vbscript.regexp")
regex.IgnoreCase = True
' aktiven Inspector finden
Set cInspector = Application.ActiveInspector
If cInspector Is Nothing Then
MsgBox "Kein Element offen!", vbExclamation
Exit Sub
End If
' mit aktivem Element im Inspector arbeiten
With cInspector.CurrentItem
' elemente aus dem Subject mit Regex extrahieren
regex.pattern = "([^\s]+) für (.*)$"
' regex pattern anwenden
Set match = regex.Execute(.subject)
' Fallback für Nutzername und Messagetype
strClientName = "User"
strMessageType = "Gespräch"
' Wenn Regex-Match erfolgreich war
If match.Count > 0 Then
' Submatch 2 aus dem Regex dem Namen zuweisen
strClientName = match(0).submatches(1)
' Submatch 1 aus dem Regex dem Typen der Nachricht zuweisen
strMessageType = match(0).submatches(0) & "gespräch"
End If
' Standard-Datum formatieren
strDate = Format(.Start, "dddd, \d\e\n dd. mmmm \u\m hh:nn \U\h\r")
' wenn das Datum heute ist formatiere das Datum um
If DateValue(.Start) = Date Then
strDate = "heute um " & Format(.Start, "hh:nn")
End If
' Fülle den Inhalt des Bodies aus
.Body = "Hallo " & strClientName & "." & vbNewLine & vbNewLine & _
"hiermit erhalten sie die Einladung zu einem Zoom-Meeting für ein " & strMessageType & " mit Max Mustermann." & vbNewLine & vbNewLine & _
"Das Gespräch findet " & strDate & " statt." & vbNewLine & _
.Location & vbNewLine & vbNewLine & _
"Herr Mustermann freut sich auf das gemeinsame Gespräch." & vbNewLine & vbNewLine & _
"Mit besten Grüßen"
.Save
End With
End Sub
Code Ergebnis mit heutigem Beispiel Meeting:
Viel Erfolg bei deinen ersten Gehversuchen in der Outlook-Automation mittels VBA!
Grüße Uwe
Wo ich nicht weiter kam, ist die Extraktion der E-Mail Adressen.
Der zuständige Titel für das Feld ist wohl .Recipients, aber egal was ich damit machte, der Code funktionierte nicht mehr.
Recipients ist ein Array aus Recipient Objekten die bereits eine Eigenschaft namens Address besitzen, du musst hier also nicht mit Regex hantieren sondern kannst direkt auf die Mail-Adressen der Empfänger zugreifenDer zuständige Titel für das Feld ist wohl .Recipients, aber egal was ich damit machte, der Code funktionierte nicht mehr.
' ...
Dim rec as Recipient
for each rec in .Recipients
MsgBox rec.Address
Next
'...
https://learn.microsoft.com/en-us/office/vba/api/outlook.recipient.name
Grüße Uwe