Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Besprechung in Outlook per VBA

Besprechung in Outlook per VBA
06.04.2017 12:11:45
Patrick
Hallo zusammen,
ich möchte per Makro eine Besprechung in Outlook planen. Alle Daten sind in Excel vorhanden, der Code funktioniert bis auf einen kleinen Fehler. In Outlook wird ein Termin geplant, keine Besprechung.
Sub Term_Outlook()
Dim myOLApp As Object
Dim myItem As Object
Set myOLApp = CreateObject("Outlook.Application")
Set myItem = myOLApp.CreateItem(1)
With myItem
.Subject = "Termin vor Ort"
.Body = "Termin vor Ort " & Range("B5") & " " & Range("B6")
.Location = Range("D7")
.Start = Format(Range("D4").Value, "dd.mm.yyyy") & " " & _
Format(Range("D5").Value, "hh:mm")
.Duration = "120" 'tauer
.ReminderMinutesBeforeStart = 10
.ReminderPlaySound = True
.ReminderSet = True
.Display
End With
MsgBox "Termin an Outlook wurde übertragen!"
Set myOLApp = Nothing
Set myItem = Nothing
End Sub

Kann mir jemand sagen was ich anpassen muss?
Vielen Dank für jede Hilfe!
Gruß,
Patrick
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Besprechung in Outlook per VBA
06.04.2017 12:35:19
Michael
Hallo!
Eine Besprechung ist ein Termin mit mehreren TeilnehmerInnen.
D.h. übergibst Du jene, wird eine Besprechung draus
 .RequiredAttendees = "..."
LG
Michael
AW: Besprechung in Outlook per VBA
06.04.2017 13:10:08
Patrick
Vielen Dank für die Antwort. Dieses löst mein Problem nicht, da ich in die Besprechung muss um einen Raum zu buchen. Es können verschiedene sein, welche mir über Besprechung angeboten werden.
Anzeige
AW: Besprechung in Outlook per VBA
06.04.2017 13:16:15
Michael
Schon versucht den Meeting-Status explizit zu setzen?
.MeetingStatus = olMeeting 
LG
Michael
AW: Besprechung in Outlook per VBA
06.04.2017 13:25:37
Patrick
So ist es eingetragen, es ändert jedoch nichts:
Sub Term_Outlook()
Dim myOLApp As Object
Dim myItem As Object
Set myOLApp = CreateObject("Outlook.Application")
Set myItem = myOLApp.CreateItem(1)
With myItem
.MeetingStatus = olMeeting
.Subject = "Termin vor Ort"
.Body = "Termin vor Ort " & Range("B5") & " " & Range("B6")
.Location = Range("D7")
.Start = Format(Range("D4").Value, "dd.mm.yyyy") & " " & _
Format(Range("D5").Value, "hh:mm")
.Duration = "120" 'tauer
.ReminderMinutesBeforeStart = 10
.ReminderPlaySound = True
.ReminderSet = True
.Display
End With
MsgBox "Termine an Outlook übertragen!"
Set myOLApp = Nothing
Set myItem = Nothing
End Sub

Anzeige
AW: Besprechung in Outlook per VBA
06.04.2017 13:29:34
Michael
Da fehlen aber noch immer Besprechungsteilnehmer...
Setz' doch mal zusätzlich irgendjemanden als Dummy-Besprechungsempfänger hier
 .RequiredAttendees = "abc@def.gh"
...ich meine, dass Du dann eine "echte" Besprechung erhalten solltest. Ist ja gefahrlos zu Testen, nachdem Du sowieso anzeigst (.Display) und nicht speicherst/sendest.
LG
Michael
Anzeige
AW: Besprechung in Outlook per VBA
06.04.2017 13:47:58
Patrick
Dies hatte nichts geändert, daher habe ich es schon wieder raus genommen. So sieht der Code aus, leider wird trotzdem keine Besprechung angezeigt:
Sub Term_Outlook()
Dim myOLApp As Object
Dim myItem As Object
Set myOLApp = CreateObject("Outlook.Application")
Set myItem = myOLApp.CreateItem(1)
With myItem
.MeetingStatus = olMeeting
.RequiredAttendees = "abc@def.gh"
.Subject = "'Termin vor Ort"
.Body = "Termin vor Ort " & Range("B5") & " " & Range("B6")
.Location = Range("D7")
.Start = Format(Range("D4").Value, "dd.mm.yyyy") & " " & _
Format(Range("D5").Value, "hh:mm")
.Duration = "120" 'tauer
.ReminderMinutesBeforeStart = 10
.ReminderPlaySound = True
.ReminderSet = True
.Display
End With
MsgBox "Termine an Outlook übertragen!"
Set myOLApp = Nothing
Set myItem = Nothing
End Sub

Trotzdem 1000 Dank bis hierhin!
Anzeige
AW: Besprechung in Outlook per VBA
06.04.2017 16:19:10
Michael
If everything else fails, start to google like crazy. (Anonymous)
An AppointmentItem can become a meeting by adding another person to it and clicking Send. Once  _
sent, the AppointmentItem travels the Interweb is magically turned into a MeetingItem by the time
the intended recipient receives it.
Siehe zB.: https://www.add-in-express.com/creating-addins-blog/2013/06/10/outlook-calendar-appointment-meeting-items/
Damit beende ich meine Hilfe in diesem Faden.
LG
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Besprechung in Outlook per VBA planen


Schritt-für-Schritt-Anleitung

Um eine Besprechung in Outlook über VBA zu erstellen, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub Term_Outlook()
       Dim myOLApp As Object
       Dim myItem As Object
       Set myOLApp = CreateObject("Outlook.Application")
       Set myItem = myOLApp.CreateItem(1) ' 1 steht für olAppointmentItem
    
       With myItem
           .MeetingStatus = olMeeting
           .RequiredAttendees = "abc@def.gh" ' Hier den Teilnehmer einfügen
           .Subject = "Termin vor Ort"
           .Body = "Termin vor Ort " & Range("B5") & " " & Range("B6")
           .Location = Range("D7")
           .Start = Format(Range("D4").Value, "dd.mm.yyyy") & " " & _
                    Format(Range("D5").Value, "hh:mm")
           .Duration = 120 ' Dauer in Minuten
           .ReminderMinutesBeforeStart = 10
           .ReminderPlaySound = True
           .ReminderSet = True
           .Display ' Zeigt die Besprechung zur Überprüfung an
       End With
    
       MsgBox "Termin an Outlook wurde übertragen!"
       Set myOLApp = Nothing
       Set myItem = Nothing
    End Sub
  4. Anpassen der Daten: Stelle sicher, dass die Zellen B5, B6, D4, D5 und D7 die richtigen Informationen enthalten.

  5. Führe das Makro aus: Drücke F5 oder klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Termin statt Besprechung: Stelle sicher, dass du den MeetingStatus auf olMeeting setzt und mindestens einen Teilnehmer mit .RequiredAttendees hinzufügst.
  • Kein Raum verfügbar: Wenn du einen Raum buchen möchtest, stelle sicher, dass du die Besprechung in Outlook planst und die richtigen Räume als Teilnehmer hinzufügst.
  • VBA-Fehler: Überprüfe, ob die Outlook-Bibliothek in den Verweisen aktiviert ist. Gehe dazu zu Extras > Verweise im VBA-Editor.

Alternative Methoden

  • Outlook-Besprechungsanfrage: Du kannst auch direkt in Outlook eine Besprechung planen, ohne VBA zu verwenden, indem du auf Neue Besprechung klickst und die Teilnehmer hinzufügst.
  • Teams-Besprechung erstellen: Nutze die integrierte Funktion in Outlook, um eine Teams-Besprechung zu planen. Wähle dazu die Option „Teams-Besprechung“ in der neuen Besprechungsanfrage aus.

Praktische Beispiele

Hier ist ein Beispiel, wie du eine Besprechung mit mehreren Teilnehmern planen kannst:

Sub Term_Outlook_Multiple()
    Dim myOLApp As Object
    Dim myItem As Object
    Set myOLApp = CreateObject("Outlook.Application")
    Set myItem = myOLApp.CreateItem(1)

    With myItem
        .MeetingStatus = olMeeting
        .RequiredAttendees = "teilnehmer1@domain.com; teilnehmer2@domain.com"
        .Subject = "Wichtige Besprechung"
        .Body = "Bitte an der Besprechung teilnehmen."
        .Location = "Besprechungsraum 1"
        .Start = Now + 1 ' Eine Stunde von jetzt an
        .Duration = 60 ' 60 Minuten
        .ReminderMinutesBeforeStart = 15
        .ReminderSet = True
        .Display
    End With
End Sub

Dieses Beispiel zeigt, wie du eine Besprechung mit mehreren Teilnehmern und einer spezifischen Location erstellen kannst.


Tipps für Profis

  • Automatisierung: Du kannst VBA nutzen, um regelmäßig Besprechungen zu planen, indem du den Code in eine Schleife einfügst.
  • Benachrichtigungen: Verwende .Send statt .Display, um die Besprechung direkt zu versenden, wenn du sicher bist, dass alle Informationen korrekt sind.
  • Outlook-Integrationen: Nutze die API von Outlook, um noch komplexere Automatisierungen zu erstellen, wie z.B. das Planen von Skype oder Teams-Besprechungen.

FAQ: Häufige Fragen

1. Wie kann ich eine Besprechung ohne Antwortoption erstellen?
Du kannst .ResponseRequested = False setzen, um die Antwortoptionen zu deaktivieren.

2. Ist es möglich, eine Skype-Besprechung zu planen?
Ja, du kannst die Skype-Integration in Outlook nutzen, indem du in der Besprechungsanfrage die Option „Skype-Besprechung“ auswählst. Bei Verwendung von VBA musst du die entsprechenden API-Funktionen nutzen.

3. Welche Excel-Version benötige ich für VBA mit Outlook?
Die meisten aktuellen Excel-Versionen (2010 und höher) unterstützen die Interaktion mit Outlook über VBA. Achte darauf, dass beide Programme installiert und korrekt konfiguriert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige