Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Outlook Terminfenster öffnen VBA

Outlook Terminfenster öffnen VBA
06.04.2021 14:33:06
ANR
Guten Tag,
ich suche einen Makro um ihn auf einen ActiveX Button zu legen, der mir bei Klick lediglich das "Neuer Termin" Fenster öffnet und aus dem Excel gewisse Felder ausliest die ich ihm vorgebe. Der Mitarbeiter soll dann selbst noch Leute einladen, Datum, Uhrzeit etc... festlegen können - ähnlich wie bei einer autmatisch geöffneten Mail mit Betreff etc...
Beispielcode aus dem "Autmatischen Mail öffnen":
___________________________________________________________
Private Sub CommandButton2_Click()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = _
"Projektleiter: " & Worksheets("Projektinformationen").Range("F8") & vbNewLine & vbNewLine & "Titel: " & Worksheets("Projektinformationen").Range("F3") & vbNewLine & vbNewLine & "Nummer: " & Worksheets("Projektinformationen").Range("F13") & vbNewLine & vbNewLine & "Volumen: " & Worksheets("Projektinformationen").Range("F14") & vbNewLine & vbNewLine & "Liefertermin: " & Worksheets("Projektinformationen").Range("F15") & vbNewLine & vbNewLine & "Kunde: " & Worksheets("Projektinformationen").Range("F7")
On Error Resume Next
With xOutMail
.To = "mustermann@muster.com"
.CC = "musterfrau@muster.com"
.BCC = ""
.Subject = "***Neues Angebot wurde erzeugt!***"
.Body = xMailBody
.Display 'oder für vollautomaitsch .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
_____________________________________________________________________________
Ich danke für jede Hilfe im Voraus, lG :-)
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook Terminfenster öffnen VBA
07.04.2021 15:06:13
ANR
Leider reichen meine VBA Kenntnisse nicht aus, diesen Makro aus dem MS Link zu adaptieren, ich bekomme einen Laufzeitfehler beim Abfahren.
Im Endeffekt soll einfach ein Terminfenster aufgehen und im Bodytext des Termins ein Beispieltext stehen. Das kann ich mir dann anpassen :-)
Danke trotzdem für den Hinweis.
Anzeige
AW: Outlook Terminfenster öffnen VBA
07.04.2021 16:49:28
peterk
Hallo
Probier mal:

Sub CreateAppointment()
' Einige Konstanten
Const olMailItem = 0
Const olAppointmentItem = 1
Const olFormatHTML = 2
Const olDiscard = 1
Const olOptional = 2   'Optional attendee
Const olOrganizer = 0  'Meeting organizer
Const olRequired = 1   'Required attendee
Const olResource = 3   'A resource such as a conference room
Const olMeeting = 1
Dim objOutLook As Object
Dim objApp As Object
On Error Resume Next
Set objOutLook = GetObject(, "Outlook.Application")
If objOutLook Is Nothing Then
Set objOutLook = CreateObject("Outlook.Application")
End If
On Error GoTo 0
If Not objOutLook Is Nothing Then
Set objApp = objOutLook.CreateItem(olAppointmentItem)
With objApp
.Location = "wird noch bekannt gegeben"
.Subject = "Jahr_Monat_Tag_Kick-off_8D"
.Recipients.Add("max.mustermann@xxx.xxx").Type = olRequired
.Recipients.Add("anna.mustermann@xxx.xxx").Type = olRequired
.MeetingStatus = olMeeting
.body = "Hallo Leute"
.display
End With
Else
MsgBox "Auf diesem PC/Notebook ist kein Outlook installiert!", _
vbMsgBoxSetForeground + 16, "zur Information..."
End If
Set objOutLook = Nothing
End Sub

Anzeige
AW: Outlook Terminfenster öffnen VBA
08.04.2021 14:02:20
ANR
Ja super!! Genau sowas hab ich gebraucht. Danke herzlich! LG :-)
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Outlook Terminfenster mit VBA öffnen


Schritt-für-Schritt-Anleitung

Um ein Outlook Terminfenster mit VBA in Excel zu öffnen, kannst du folgendes Makro verwenden. Es öffnet ein neues Terminfenster und liest einige Daten aus einem Excel-Arbeitsblatt aus.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub CreateAppointment()
    Dim objOutLook As Object
    Dim objApp As Object
    On Error Resume Next
    Set objOutLook = GetObject(, "Outlook.Application")
    If objOutLook Is Nothing Then
        Set objOutLook = CreateObject("Outlook.Application")
    End If
    On Error GoTo 0
    If Not objOutLook Is Nothing Then
        Set objApp = objOutLook.CreateItem(1) ' 1 steht für olAppointmentItem
        With objApp
            .Location = "wird noch bekannt gegeben"
            .Subject = "Jahr_Monat_Tag_Kick-off_8D"
            .Recipients.Add("max.mustermann@xxx.xxx").Type = 1 ' olRequired
            .body = "Hallo Leute" & vbNewLine & "Bitte anpassen!"
            .Display
        End With
    Else
        MsgBox "Auf diesem PC/Notebook ist kein Outlook installiert!", vbMsgBoxSetForeground + 16, "zur Information..."
    End If
    Set objOutLook = Nothing
End Sub
  1. Um das Makro auszuführen, weise es einem ActiveX-Button zu.

Häufige Fehler und Lösungen

  • Fehler: "Auf diesem PC/Notebook ist kein Outlook installiert!"

    • Lösung: Stelle sicher, dass Microsoft Outlook auf deinem Computer installiert ist.
  • Fehler: Laufzeitfehler beim Ausführen des Makros.

    • Lösung: Überprüfe, ob der Outlook-Anwendungsname korrekt ist und dass Outlook geöffnet ist.

Alternative Methoden

Eine alternative Methode zur Erstellung eines Termins ist die Verwendung des Microsoft-Dokuments, das beschreibt, wie man einen Termin als Besprechung im Kalender erstellt. Hier ist der Link zur Hilfe: Erstellen eines Termins als Besprechung im Kalender.


Praktische Beispiele

Hier ist ein Beispiel für ein Makro, das einen Termin mit mehreren Teilnehmern erstellt:

Sub CreateMeeting()
    Dim objOutLook As Object
    Dim objApp As Object
    On Error Resume Next
    Set objOutLook = GetObject(, "Outlook.Application")
    If objOutLook Is Nothing Then
        Set objOutLook = CreateObject("Outlook.Application")
    End If
    On Error GoTo 0
    If Not objOutLook Is Nothing Then
        Set objApp = objOutLook.CreateItem(1) ' olAppointmentItem
        With objApp
            .Location = "Konferenzraum"
            .Subject = "Team Meeting"
            .Recipients.Add("kollege@beispiel.de").Type = 1
            .Recipients.Add("kollegin@beispiel.de").Type = 1
            .body = "Diskussion über aktuelle Projekte" & vbNewLine & "Bitte teilnehmen."
            .Display
        End With
    Else
        MsgBox "Outlook konnte nicht geöffnet werden.", vbExclamation
    End If
    Set objOutLook = Nothing
End Sub

Tipps für Profis

  • Nutze die Konstanten wie olAppointmentItem, um den Code lesbarer zu machen.
  • Experimentiere mit den .body-Inhalten und füge dynamische Daten aus Excel hinzu, um den Text anzupassen.
  • Setze .Send anstelle von .Display, wenn du den Termin direkt senden möchtest.

FAQ: Häufige Fragen

1. Frage Wie kann ich das Terminfenster automatisch schließen?

Antwort: Du kannst die Methode .Close verwenden, nachdem das Fenster angezeigt wurde. Allerdings wird dies die Interaktion des Benutzers verhindern.

2. Frage Kann ich das Makro in einer anderen Excel-Version verwenden?

Antwort: Ja, das Makro sollte in den meisten modernen Versionen von Excel funktionieren, solange Outlook installiert ist.

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