Anzeige
Archiv - Navigation
1596to1600
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
Termine in Outlook eintragen
03.01.2018 13:43:09
Pascal
Hallo liebe Forumsgemeinde
Vorab wünsch ich Euch allen von Herzen ein glückliches, gutes, gesundes und erfolgreiches neues Jahr !
Kaum hat das neue Jahr begonnen, befass ich mich wieder mit VBA.
Diesmal möchte ich einen bestehenden Code anpassen und hoffe dazu auf Eure Hilfe.
… mittels einer UserForm und diversen Command-Buttons trage ich diverse Termine in mein Outlook ein.
Funktioniert soweit perfekt.
u.a. hab ich folgenden Code hinter den Command-Buttons:
…
Zeitvariable = "08:00"
With myItem
.Subject = Terminbezeichnung
.Location = "Büro"
.Categories = "Geschäfts-Termin"
Datumsvariable = MonthView1.Value
If Datumsvariable = "" Then GoTo Ende
.Start = Format(Datumsvariable, "dd.mm.yyyy") & " " & Format(Zeitvariable, "hh:mm")
.Duration = "540"
.ReminderSet = False
.Save
End With
…
Auf der UserForm selber hab ich eine MontView1 auf welcher der User ein bestimmtes Datum selektiert.
Wenn der User das Datum auf der MontView1 selektiert hat und nun den CommandButton drückt, so wird
anhand des obigen Code-Schnitzels ein bestimmter Termin ins Outlook geschrieben. Und zwar genau an diesem Tag, welcher
der User vorher auf der MontView1 selektiert hat.
Nun frag ich mich, ob und wie ich den obigen Code anpassen/umbauen könnte, so dass der User auch mehrere Tage gleichzeitit auf
der MontView1 selektieren kann.
D.h. wenn er z.B. die Tage von Montag – Samstag auswählt auf der MontView1 so soll dann an jedem der ausgewählten Tagen
dieser Termin eingetragen werden (Dauer immer 540). Also nicht von – bis sondern einzelne Termine an jedem Tag !
kann ich meinen obigen Code entsprechend anpassen/umbauen ?
wenn ja … wie genau müsste der Code dann aussehen? (eine Art Schlaufe für jeden Tag)
Besten Dank für Eure Unterstützung !
Grüsst Euch:
Pascal

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Termine in Outlook eintragen
03.01.2018 14:01:40
Ralf
Hi Pascal,
ich nutze das MonthView Steuerelement nicht, kann deshalb nicht sagen, ob da Multiselect möglich ist. Falls nicht, benötigst Du halt 2 Variablen, die Du nacheinander durch Aufruf des Steuerelementes füllst und dann... klar.... per Schleife durchlaufen lässt...
AW: Termine in Outlook eintragen
03.01.2018 14:09:08
Pascal
Hallo Ralf
ich hab kurz mal bei den Eigenschaften des MonthView nachgeschaut.
Multiselect ist möglich.
wie also könnte/müsste ich den Code anpassen ?
AW: Termine in Outlook eintragen
03.01.2018 18:07:12
Ralf
...wie gesagt, ich hab das Teil nicht mal. Hab mal in den Verweisen gesucht, konnte aber kein MonthView bei mir finden. Von daher kann ich nicht viel dazu sagen. Ich weiß nicht, welche Events es bereitstellt (evtl. Change oder Exit?) welchen Rückgabewert es liefert( Text oder Datum oder long?)...
Ich nutze immer mein eigenes Kalendersteuerelement...
Kannst Du mal eine Datei hochladen?
Anzeige
AW: Termine in Outlook eintragen
04.01.2018 08:02:53
Pascal
Guten Morgen Anton
also ... im Anhang nun eine Beispiels-Datei
Hoffe mir kann hier jemand weiterhelfen.
https://www.herber.de/bbs/user/118666.zip
Ziel:
der User soll mehrere Termine im Kalender-Feld auswählen können. Nach Klick auf die Schaltfläche "Termin eintragen" soll der entsprechende Termin an allen ausgewählten Tagen in den Kalender eingetragen werden.
AW: Termine in Outlook eintragen
04.01.2018 10:45:04
Ralf
...da ich mir das Teil nicht extra installieren will, mal kurz gegoogelt und folgendes gefunden:
Private Sub MonthView1_SelChange(ByVal StartDate As Date, ByVal EndDate As Date, Cancel As  _
Boolean)
Debug.Print StartDate & " -> " & EndDate
End Sub
Somit kannst Du Startdate und Enddate (beides als Date) in einer Schleife verwenden.
Dim dat as date
For dat = Startdate to enddate
...'Dein Code...
.Start = Format(Datumsvariable, "dd.mm.yyyy") & " " & Format(Zeitvariable, "hh:mm")
next dat
Anzeige
AW: Termine in Outlook eintragen
04.01.2018 10:48:19
Ralf
...da ich mir das Teil nicht extra installieren will, mal kurz gegoogelt und folgendes gefunden:
Private Sub MonthView1_SelChange(ByVal StartDate As Date, ByVal EndDate As Date, Cancel As  _
Boolean)
Debug.Print StartDate & " -> " & EndDate
End Sub

Edit:
Somit kannst Du Startdate und Enddate (beides als Date) in einer Schleife verwenden.
Dim dat as date
For dat = Startdate to enddate
...'Dein Code...
' Hatte Deinen Code kopiert. Muss korrigiert werden.
.Start = Format(dat, "dd.mm.yyyy") & " " & Format(Zeitvariable, "hh:mm")
next dat
Anzeige
AW: Termine in Outlook eintragen
05.01.2018 11:57:49
Pascal
Hallo zusammen
mal vorerst allen ein herzliches Dankeschön für diese Lösungsansätze
aber... wie auch immer ich es anstelle... bringe das Ding nicht zum Laufen.
kann mir jemand (basierend auf meiner Beispielsdatei im Anhang) das mal so einbauen dass es läuft ?
... ich verstehe nicht genau, wo ich was genau einbauen müsste.
also
ein neues Modul mit:
Private Sub MonthView1_SelChange(ByVal StartDate As Date, ByVal EndDate As Date, Cancel As  _
Boolean)
Debug.Print StartDate & " -> " & EndDate
End Sub
oder wie genau hab ich das zu verstehen ?
danke herzlich für die weitere Untersützung.
Anzeige
AW: Termine in Outlook eintragen
05.01.2018 12:22:04
Ralf
...der Code gehört in das Modul der Form, auf welcher sich das Objekt befindet. Einfach Doppelklick auf das Objekt, dann öffnet sich in der VBE das richtige Modul mit dem Standardereignis des Objektes (meist ist dass das Click Ereignis). Das ersetzt Du an dieser Stelle dann einfach durch das obige Beispiel incl. Deines Anweisungen.
Kann Dir das leider nicht machen, da ich, wie gesagt, das Teil bei mir nicht installiert habe und auch nicht installieren will, da ich mein eigenes Kalendersteuerelement nutze.
AW: Termine in Outlook eintragen
05.01.2018 14:51:31
Pascal
wie auch immer ich es versuche... die beiden Variablen StartDate und EndDate werden mir nicht abgefüllt.
im Debug.Print wird aber beides korrekt ausgegeben.
habe nun also auf dem MontView1 - Objekt per Doppelklick folgenden Code hinterlegt:
Private Sub MonthView1_SelChange(ByVal StartDate As Date, ByVal EndDate As Date, Cancel As _
Boolean)
Debug.Print StartDate & " -> " & EndDate
End Sub
und der aktuelle Code hinter der Schaltfläche "Termine eintragen" lautet aktuell wie folgt:
Private Sub CommandButton1_Click()
'Termin 1 in Outlook eintragen, 06:00-15:00
Dim dat As Date
Dim myOLApp As Object
Dim myOlApp2 As Object
Dim myItem As Object
Dim myItem2 As Object
Dim Datumsvariable
Dim Zeitvariable As String
For dat = StartDate To EndDate
Zeitvariable = "06:00"
Terminbezeichnung = "Termin 1, 06:00-15:00"
Set myOLApp = CreateObject("Outlook.Application")
Set myItem = myOLApp.CreateItem(1)
Set myOlApp2 = CreateObject("Outlook.Application")
Set myItem2 = myOlApp2.CreateItem(1)
'Termin ins Outlook eintragen
With myItem
.Subject = Terminbezeichnung
.Location = "Büro Geschäft"
.Categories = "Term1"
Datumsvariable = MonthView1.Value
If Datumsvariable = "" Then GoTo Ende
.Start = Format(dat, "dd.mm.yyyy") & " " & Format(Zeitvariable, "hh:mm")
.Duration = "540"
.ReminderSet = False
.Save
End With
'Erfolgsmeldung, wenn Termin eingetragen wurde
MsgBox "Termin wurde in Outlook eingetragen !"
UserForm1.ListBox1.AddItem (Datumsvariable) & "    " & "-->" & " " & Terminbezeichnung
Set myOLApp = Nothing
Set myOlApp2 = Nothing
Set myItem = Nothing
Set myItem2 = Nothing
Next dat
Ende:
End Sub
siehe auch File im Anhang !
https://www.herber.de/bbs/user/118702.zip
was ist noch falsch ?
Ich denke ... bin sehr nahe am Resultat, aber offenbar überseh ich aktuell noch was ?
Anzeige
AW: Termine in Outlook eintragen
06.01.2018 00:43:51
Ralf
...was soll denn das?
 Datumsvariable = MonthView1.Value
Welchen Wert hat denn MonthView1.Value? Das ist doch Quatsch, das zu verwenden. Du hast doch hier:
Private Sub MonthView1_SelChange(ByVal StartDate As Date, ByVal EndDate As Date, Cancel As _
Boolean)
Debug.Print StartDate & " -> " & EndDate
End Sub
Eindeutige Werte für die Daten, die Du brauchst. Also nutze die doch auch. Schaff Dir 2 globale Variablen dafür und statt Debug.Print befüllst Du die mit den so ermittelten Werten und verwendest die dann in Deiner Schleife...
Anzeige
AW: Termine in Outlook eintragen
08.01.2018 07:36:04
Pascal
Danke für den Hinweis Ralf !
ich habe das echt übersehen in der Eile
werde nun versuchen zwei neue Globale Variablen entsprechend zu erzeugen und zu nutzen.
Feedback poste ich dann gerne
allen einen guten Start in die neue Woche
AW: Termine in Outlook eintragen
08.01.2018 11:49:23
Pascal
... nach der Bildung von zwei globalen Variablen
(Starddatum und Enddatum as Date)
funktioniert nun die ganze Sache :-)
Herzlichen Dank nochmals allen für die grossartige Hilfe !
Grüsst Euch:
Pascal

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige