Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Terminliste aus Excel nach Outlook

Terminliste aus Excel nach Outlook
15.12.2021 13:40:17
Kulo
Liebe Excelianer,
ich habe mir eine Tabelle gebastelt, in der einige für mich relevante Termine aus einem Kalender gezogen werden.
Diese Termine kann ich bereits nach Outlook übertragen.
Mein Ziel:
In Outlook habe ich einen extra Kalender erstellt, in dem diese Termine gespeichert werden sollen. Bis jetzt speichert es die Termine unter einem „Standardkalender“ (?) ab.
Ich stelle mir vor, dass ich zuerst alle Ordner und Unterordner auslesen muss, feststellen, ob mein extra erstellter Kalender existiert und dann diesen Pfad auslesen und zum Schreiben benutzen.
Aber da übersteigt diese Angelegenheit bei weitem meinen Horizont.
Wie finde ich meinen Kalender? Wie komme ich zu den Unterordnern im Standartkalender?
Wie weise ich an, dass jetzt die Termine in diesem Kalender einzutragen sind.
Ich bin mir sicher, dass das eine größere Angelegenheit ist und ich mich wahrscheinlich damit total übernommen habe. Vielleicht hat aber doch jemand von Euch Zeit und Lust, da mal reinzuschauen und mir ein paar Tipps und Anleitungen zu geben.
Die Datei: https://www.herber.de/bbs/user/149820.xlsm
(Der Code in der Datei ist total laienhaft zusammengeschustert aber dafür komplett auskommentiert und inaktiv. ;-) )
Ich würde mich sehr freuen.
Bis dahin
Viele Grüße
Kulo

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

Betreff
Datum
Anwender
Anzeige
AW: Terminliste aus Excel nach Outlook
15.12.2021 17:04:23
Kulo
Habe gerade gemerkt, dass bei der Übertragung von mehr als einem Termin ein Fehler auftritt.
Ich habe die Variable "ErinnerungMinute" als Integer deklariert.
Wenn man das löscht, klappts wieder.
Diese Variable enthält die Zeitdifferenz zwischen dem Termin und der Erinnerung in Minuten für "ReminderMinutesBeforeStart".
Ich weiß nicht, welcher Typ dafür der richtige ist.

With oTermin
.Save 'nach Testphase aktivieren 

AW: Terminliste aus Excel nach Outlook
15.12.2021 19:27:16
Yal
Hallo Kulo,
im VB-Editor kannst Du im Objektkatalog (F2 oder "Ansicht", "Objektkatalog") nach "Reminder" suchen und dort sehen, dass ReminderBeforeStart vom Typ Long ist.
Dort findest Du auch Information über getDefaultFolder.
Warum in einem separaten Kalender? Ist dein Leben nicht konmpliziert genug? ;-)
Am besten im demselben Kalender aber dafür mit einer farbliche Kategorie versehen.
Dein Code ist sauber.
Vielleicht einige Kommentar sparen.
Warum Variablen, wenn Du die Zelle direkt nehemn kannst?
Bei einem If ist es leichter zu folgen, wenn die kürzte Teil zuerst vorkommt.
Mein Vorschlag (es ist nur ein Vorschlag):

Sub Outlook_Termin()
Dim oApp As New Outlook.Application
Dim oT As Outlook.AppointmentItem
Dim i As Integer
Dim Rmd As Long
If MsgBox("Daten an Outlook übertragen?", vbYesNo + vbDefaultButton2)  vbYes Then
MsgBox "Es wurden keine Daten übertragen"
Else
Worksheets("Daten").Range("W2") = CDate(Format(Now, "dd.mm.yy hh:mm"))
For i = 2 To 2 'nach Testphase auf die letzte befüllte Zeile erhöhen -> Worksheets("Daten").Cells(2, 26).value
With Worksheets("TerminOutl")
If .Cells(i, 10) = "Ja" Then
Set oT = oApp.CreateItem(olAppointmentItem)
If Worksheets("TerminOutl").Cells(i, 2)  "" Then
oT.Subject = .Cells(i, 1)
oT.Start = .Cells(i, 2) + .Cells(i, 3)
oT.End = .Cells(i, 3) + .Cells(i, 4)
oT.ReminderSet = .Cells(i, 1) = "Ein"
Rmd = DateDiff("n", .Cells(i, 8) + .Cells(i, 9), .Cells(i, 2) + .Cells(i, 3))
oT.ReminderMinutesBeforeStart = IIf(.Cells(i, 9) 
VG
Yal
Anzeige
AW: Terminliste aus Excel nach Outlook
15.12.2021 20:36:59
Kulo
Hallo Yal,
vielen vielen Dank für Deine Hinweise und den Code.
Der separate Kalender ist nur eine Vorsichtsmaßnahme. Ich weiß ja gar nicht, was ich mit meinem Code so alles anrichten kann. ;-) und mit der Übertreibung bei den Kommentaren wollte ich nur sicher gehen, dass der "Hilfesteller" sich besser in meinem Code zurechtfindet.
Ich werde auf alle Fälle Deinen Code studieren und mit meinem vergleichen. Mir fehlt da noch einiges, um so einen Code wie Deinen zu erstellen. Ich habe wieder meine Hausaufgaben. ;-)
Also vielen Dank nochmal für Deine Hilfe und noch einen schönen Abend.
Viele Grüße
Kulo
Anzeige
Vielen Dank für die Rückmeldung
16.12.2021 10:07:37
Yal
Hallo Kulo,
ja, ein separater Kalender für den Test macht durchaus Sinn. Diese Konstellation hatte ich nicht auf dem Schirm.
Ich hatte auch die Vermutung, dass das Überkommentieren nur temporär war (so was hält keiner durch ;-) Meine Version ist wiederum zu sehr kommentarbefreit. Wenn man die Variablen mit sprechenden Namen spart (auch hier, im Sinne einer Entwicklungsstand, alles sehr gut gemacht), müsste man mehr Kommentar einführen.
Mein Code ist nichts besonders: viele Abkürzung genommen, Variablen gespart, sonst nichts. Ausser Rmd und die Bedingung für ReminderMinutesBeforeStart.
Und der With: Du hattest einen "Set oTermin" und sofort danach einen "With oTermin". Ich habe diese Variable einem kurzeren Namen verpasst und dann wiederholt eingesetzt, um den "With" für den "Worksheets(...)" frei zu machen, da diesen vor jeden .Cells( .. ) in unerträglicher Länge vorkommen würde.
Aber es ist alles persönliche Vorliebe und Gewonnheit. Das einzig richtig ist ein Code, der funktioniert und der nach 2 Monaten immer noch lesbar und verstanden wird.
VG
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige