Excel VBA Termin in Outlook Kalender für fremde Nutzer mit Berechtigungen
Ich habe ein Problem
Ich habe eine Skript mir zusammengestellt und in Excel eingefügt.
Das Skript funktioniert aber nur wenn ich es ausführe.
Ich habe den Kalender freigegeben für andere mit entsprechenden Berechtigungen aber von anderen Nutzern funktioniert das nicht. Es kommt "Laufzeitfehler"
Was ist Falsch
Hier der Code
Private Sub Termin_Click()
Dim OutApp As Object 'Dim OutApp As Outlook.Application
Dim apptOutApp As Object
ActiveWorkbook.Save
Range("L6").Select 'Hier beginnen die Termine
Set OutApp = CreateObject("Outlook.Application")
'Set apptOutApp = OutApp.GetNamespace("Mapi").GetDefaultFolder(9).Items.Add
Set apptOutApp = OutApp.GetNamespace("Mapi").Folders("Postfach").Folders("Kalender").Items.Add
If ActiveCell.Offset(0, 4).Value = "x" Then GoTo TerminDa 'Prüfen ob in Spalte 11 ein x ist,dass bedeutet, dass der Termin schon einmal erfasst wurde Wenn ein x vorhanden ist, dann zur Sprungmarke Termin da gehen
With apptOutApp
.Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 18:30" 'Datum wird aus der Zelle genommen
.Subject = Range("L4") & " " & Range("K3") & " Personen, " & Range(" D1") 'Betreff für Termin
.Body = "INDEX " & Range("D3") 'Zusätzlicher Text im Termininfo
.Location = Range("F2") 'Ort des Termines
.Duration = "30" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen
.ReminderMinutesBeforeStart = 0 'Erinnerung in Minuten
.Categories = "Orange Kategorie"
.ReminderPlaySound = True 'mit oder ohne Sound
.ReminderSet = True 'Erinnerung
.Save 'Termin speichern
End With
ActiveCell.Offset(0, 4).Value = "x" ' In die 15. Spalte ein x setzen heißt: der Termin wurde schon einmal in den Kalender eingetragen
TerminDa: 'Sprungmarke
'ActiveCell.Offset(1, 0).Select 'Nächste Zeile der gleichen Spalte auswählen
Set apptOutApp = Nothing 'Variablen leeren
Set OutApp = Nothing 'Variablen leeren
'Loop ' Nächster Schleifendurchlauf
MsgBox "Text" 'Popup mit Erfolgsinfo
End Sub
Ich habe eine Skript mir zusammengestellt und in Excel eingefügt.
Das Skript funktioniert aber nur wenn ich es ausführe.
Ich habe den Kalender freigegeben für andere mit entsprechenden Berechtigungen aber von anderen Nutzern funktioniert das nicht. Es kommt "Laufzeitfehler"
Was ist Falsch
Hier der Code
Private Sub Termin_Click()
Dim OutApp As Object 'Dim OutApp As Outlook.Application
Dim apptOutApp As Object
ActiveWorkbook.Save
Range("L6").Select 'Hier beginnen die Termine
Set OutApp = CreateObject("Outlook.Application")
'Set apptOutApp = OutApp.GetNamespace("Mapi").GetDefaultFolder(9).Items.Add
Set apptOutApp = OutApp.GetNamespace("Mapi").Folders("Postfach").Folders("Kalender").Items.Add
If ActiveCell.Offset(0, 4).Value = "x" Then GoTo TerminDa 'Prüfen ob in Spalte 11 ein x ist,dass bedeutet, dass der Termin schon einmal erfasst wurde Wenn ein x vorhanden ist, dann zur Sprungmarke Termin da gehen
With apptOutApp
.Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 18:30" 'Datum wird aus der Zelle genommen
.Subject = Range("L4") & " " & Range("K3") & " Personen, " & Range(" D1") 'Betreff für Termin
.Body = "INDEX " & Range("D3") 'Zusätzlicher Text im Termininfo
.Location = Range("F2") 'Ort des Termines
.Duration = "30" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen
.ReminderMinutesBeforeStart = 0 'Erinnerung in Minuten
.Categories = "Orange Kategorie"
.ReminderPlaySound = True 'mit oder ohne Sound
.ReminderSet = True 'Erinnerung
.Save 'Termin speichern
End With
ActiveCell.Offset(0, 4).Value = "x" ' In die 15. Spalte ein x setzen heißt: der Termin wurde schon einmal in den Kalender eingetragen
TerminDa: 'Sprungmarke
'ActiveCell.Offset(1, 0).Select 'Nächste Zeile der gleichen Spalte auswählen
Set apptOutApp = Nothing 'Variablen leeren
Set OutApp = Nothing 'Variablen leeren
'Loop ' Nächster Schleifendurchlauf
MsgBox "Text" 'Popup mit Erfolgsinfo
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1292110395
Url: https://administrator.de/forum/excel-vba-termin-in-outlook-kalender-fuer-fremde-nutzer-mit-berechtigungen-1292110395.html
Ausgedruckt am: 22.04.2025 um 00:04 Uhr