Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
sind die Kalender alle in einem Postfach? Im Code steht derzeit diese Zeile:
Set objCalendar = objNS.GetDefaultFolder(olFolderCalendar)
Die kannst Du durch eine Zeile mit dem Postfach- und Kalendernamen ersetzen:
Set objCalendar = objNS.Folders("meinpostfach@bei-mir.de").Folders("Kalendername")
Der Kalendername dürfte bei Dir dann das mit dem export_... sein.
Den Postfachnamen seh ich im Bild nicht, du kannst Dir das auch mit der rechten Maustaste über die Eigenschaften des Kalenders anschauen. Das @.. muss bei Dir nicht dabei sein. Ich hab bei mir die Postfächer analog zur E-Mailadresse mit den @... benannt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.11.2014
Version(en): 2016
Hallo André, vorab, ich habe den Kalendernamen auf "Abfallkalender2019" geändert. Was heisst Postfach?Wenn ich auf den Kalender rechts klicke erhalte ich folgendes Info: [ Bild bitte so als Datei hochladen: Klick mich! sehe da keine Postfachbezeichnung. In den Konteneinstellungen steht beim Standardkonto für den Default-Ordner: [ Bild bitte so als Datei hochladen: Klick mich!] Ich verstehe nicht, was mit Postfach gemeint ist. Ich habe bei "Set objCalendar = objNS.Folders" folgende Varianten ausprobiert, "theo@meineE-Mail.ch", "Kalender", "\\MeinPC\Kalender", "MeinPC\Kalender" aber ich erhielt immer den Fehler: [ Bild bitte so als Datei hochladen: Klick mich!] Was mache ich falsch? Danke für Deine Hilfe Gruss Theo
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Theo,
die Zeile müsste so aussehen:
Set objCalendar = objNS.Folders("MeinPC").Folders("Kalender")
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.11.2014
Version(en): 2016
04.01.2019, 20:28
(Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2019, 20:54 von Theo.)
Guten Abend André, habe ich gemacht. Dann bringt er aber den Standardkalender. Wenn ich dann den Code so ändere: Set objCalendar = objNS.Folders("MeinPC").Folders("Abfallkalender2019") dann kommt wieder die Fehlermeldung [ Bild bitte so als Datei hochladen: Klick mich!] Ich habe auch versucht, den andern, nicht importierten Kalender auszulisten, dieser ist auch im Postfach "MeinPC" Set objCalendar = objNS.Folders("MeinPC").Folders("Kalender für Su und Theo") gleiche Fehlermeldung..?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Theo, hast recht, bei mir geht es mit einer Zeile auch nur auf den Standardordner. Probiers mal bitte mit 2 Zeilen, damit funktioniert es bei mir. Im Prinzip: Set objCalendar = objNS.Folders("MeinPC").Folders("Kalender") Set objCalendar = objCalendar.Folders("Abfalleimer")
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.11.2014
Version(en): 2016
05.01.2019, 00:05
Guten Abend oder guten Morgen André
ja, jetzt hat es auch bei mir geklappt! :19:
Und wie mutiere ich jetzt die Einträge, damit der Termin nicht mehr ganztägig, sondern von 07.00 bis 07.15 ist und um 07.00 eine Erinnerung abgesetzt wird?
Danke für Deine Geduld und Deine Hilfe
Gruss und einen schönen Abend oder einen schön Samstag wünsche ich Dir
Theo
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Moin Theo, hier mal der nächste Schritt. Ich hab hier sicherheitshalber eine Bedingung drin, die bei Dir wahrscheinlich nicht passt. Wenn Du für die Abfallwirtschaft einen eigenen Kalender hast, ist das eher nicht nötig. Wenn da aber ein Kalender mit anderen Terminen genutzt wird, muss man die ja irgendwie auseinander halten, damit dann nicht alle von 7:00 bis 7:15 gehen Da müsstest Du mal nachschauen, was da zur eindeutigen Identifizierung nutzbar ist, z.B. den Betreff oder den Absender oder … Code: Private Sub CalendarItems() 'Variablendeklarationen Dim objApp As Outlook.Application Dim objNS As NameSpace, objCalendar As MAPIFolder Dim objItem As AppointmentItem Dim strSubject$ Dim dOccuringDate As Date 'Objekte setzen Set objApp = CreateObject("Outlook.Application") Set objNS = objApp.GetNamespace("MAPI") Set objCalendar = objNS.Folders("...MeinPC...").Folders("Kalender") Set objCalendar = objCalendar.Folders("...Abfall...") 'Schleife ueber alle Kalendereintraege 'Muss eventuell differenziert werden For Each objItem In objCalendar.Items 'Mit dem Kalendereintrag With objItem 'Aenderung von Eigenschaften des Kalendereintrages nur 'wenn der grossgeschriebene Betreff ABFALL enthaelt If InStr(1, UCase(.Subject), "ABFALL") > 0 Then dOccuringDate = Format(.Start, "Short Date") .AllDayEvent = False .Start = dOccuringDate & " 7:00:00 AM" .End = dOccuringDate & " 7:15:00 AM" 'PM fuer zweite Tageshaelfte .ReminderSet = True .ReminderMinutesBeforeStart = 0 'Ende wenn der grossgeschriebene Betreff ABFALL enthaelt End If 'Ausgabe von Eigenschaften des Kalendereintrages im Direktfenster Debug.Print _ "Titel: " & .Subject & vbCrLf & _ "Am: " & .Start & " - " & .End & vbCrLf & _ "Dauer: " & IIf(.Duration = 1440, "Ganzt?gig", .Duration & " Minuten") & vbLf & _ "Erinnerung: " & .ReminderSet & vbLf & _ "Erinnerungszeit: " & .ReminderMinutesBeforeStart 'Ende Mit dem Kalendereintrag End With 'Ende Schleife ueber alle Kalendereintraege Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.11.2014
Version(en): 2016
06.01.2019, 14:17
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2019, 17:26 von WillWissen.
Bearbeitungsgrund: Codetags
)
Hallo André danke für Deine Antwort. Alle Datensätze sind in einem eigenen Kalender "Abfall". Ich habe Deinen Skript wie folgt abgeändert: Code: Private Sub CalendarItems() 'Variablendeklarationen Dim objApp As Outlook.Application Dim objNS As NameSpace, objCalendar As MAPIFolder Dim objItem As AppointmentItem Dim strSubject$ Dim dOccuringDate As Date 'Objekte setzen Set objApp = CreateObject("Outlook.Application") Set objNS = objApp.GetNamespace("MAPI") Set objCalendar = objNS.Folders("MeinPC").Folders("Kalender") Set objCalendar = objCalendar.Folders("Abfallkalender") 'Schleife ueber alle Kalendereintraege 'Muss eventuell differenziert werden For Each objItem In objCalendar.Items 'Mit dem Kalendereintrag With objItem 'Aenderung von Eigenschaften des Kalendereintrages nur 'wenn der grossgeschriebene Betreff ABFALL enthaelt [color=#ff3333] 'If InStr(1, UCase(.Subject), "ABFALL") > 0 Then[/color] [color=#ff3333] [color=#333333] [b] .dOccuringDate = Format(.Start, "Short Date")[/b][/color][/color] .AllDayEvent = False .Start = dOccuringDate & " 7:00:00 AM" .End = dOccuringDate & " 7:15:00 AM" 'PM fuer zweite Tageshaelfte .ReminderSet = True .ReminderMinutesBeforeStart = 0 'Ende wenn der grossgeschriebene Betreff ABFALL enthaelt [color=#ff3333] 'End If[/color] 'Ausgabe von Eigenschaften des Kalendereintrages im Direktfenster Debug.Print _ "Titel: " & .Subject & vbCrLf & _ "Am: " & .Start & " - " & .End & vbCrLf & _ "Dauer: " & IIf(.Duration = 1440, "Ganzt?gig", .Duration & " Minuten") & vbLf & _ "Erinnerung: " & .ReminderSet & vbLf & _ "Erinnerungszeit: " & .ReminderMinutesBeforeStart 'Ende Mit dem Kalendereintrag End With 'Ende Schleife ueber alle Kalendereintraege Next End Sub
Ich erhalte bei .dOccuringDate = Format(.Start, "Short Date")Folgenden Fehler:[ Bild bitte so als Datei hochladen: Klick mich! ] [color=#ff3333][color=#333333]Was ist falsch?GrussTheo
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hi Theo Schau ich mir nachher mal an, gibt gleich Kaffee  und ich bin nur am Smartphone. schreib mal bitte über die Fehlerzeile Msgbox Format(....) und schau, ob es da auch einen Fehler gibt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.11.2014
Version(en): 2016
Hallo André MsgBox Format(vbOKOnly) bringt [ Bild bitte so als Datei hochladen: Klick mich!]
|