Autor
|
Thema: Termine aus Excel in Outlook (2833 mal gelesen)
|
benewet Mitglied Konstrukteur im Getriebebau
Beiträge: 199 Registriert: 22.11.2005
|
erstellt am: 23. Mai. 2008 13:44 <-- editieren / zitieren --> Unities abgeben:
Mahlzeit. Hab mal eine Frage. Möchte gerne den Arbeitsplan meiner Freundin in Outlook importieren lassen. Hab auch schon gegoogelt aber konnte leider nichts passendes finden, da ich blutiger Nicht-VBA-Könner bin. Hab neulich im Heissen Eisen ne Datei hochgeladen, wo die Fussballtermine der EM übertragen werden können. Hab mir das VBA-Skript mal angesehen, aber bin daraus leider überhaupt nicht schlau geworden. Macht das noch jemand mit dem Übertragen. vielleicht ja sogar einfacher oder ist die einzig noble lösung mit VBA? Edit: hab mal so einen Beispiel Plan hochgeladen. Ich möchte eben dass die Spalte B in Outlook übertragen wird. ------------------ Gruß Benewet <<Dass sient ceinä Tipveler, tas ißt creatiefe Worrtgästaltung>> [Diese Nachricht wurde von benewet am 23. Mai. 2008 editiert.] [Diese Nachricht wurde von benewet am 23. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 WIN7x64 Office 365 ProPlus
|
erstellt am: 27. Mai. 2008 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für benewet
Hallo Benewet, ich hab auch mal gegoogelt, mit Deiner thread-Überschrift... Da ist nichts für Dich dabei? Ich will es nicht am lebenden Objekt testen, denn die Arbeitstermine Deiner Freundin brauche ich persönlich nicht in meinem Kalender ;-) aber DAS oder DAS (mit weiterführendem link) könnte Dir doch helfen? Wo hakt es denn konkret? Bitte nicht: "am Anfang"... Ohne weiter getestet zu haben: eine Uhrzeit könnte Excel/Outlook ganz gut gefallen, ich denke, mit Früh/Spät/Nacht können beide nicht viel anfangen.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benewet Mitglied Konstrukteur im Getriebebau
Beiträge: 199 Registriert: 22.11.2005
|
erstellt am: 27. Mai. 2008 10:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Runkelruebe. Es wäre natürlich möglich, den Schichten Uhrzeiten zuzordnen, das wäre das kleinste Problem, wenn auch trotzdem die Schicht "Früh" usw. als Name mitübernommen wird. Hab mir mal auf der Seite den Code angeschaut:
Code: Sub Excel_Control_Termin_nach_Outlook() 'E 2000 'Dim OutApp As Outlook.Application Dim OutApp As Object, apptOutApp As Object 'Hier beginnen die Termine Range("A2").Select Do Until ActiveCell.Value = "" Set OutApp = CreateObject("Outlook.Application") Set apptOutApp = OutApp.CreateItem(1) 'olAppointmentItem) With apptOutApp 'Datum und Uhrzeit 'Hier werden zum aktuellen Tag 7 Tage addiert .Start = Format(Now()+7, "dd.mm.yyyy") & " 08:00" 'Alternativ werden die Termine aus der Zelle genommen '.Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 08:00" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen 'Termininfo .Subject = "Rechnung: " & ActiveWorkbook.Name & " kontrollieren" 'oder der Betreff steht in der Spalte rechts von den Terminen .Subject = ActiveCell.Offset(0,1) 'Zusätzlicher Text .Body = "" 'ort .Location = "" .Duration = "5" 'Erinnerung .ReminderMinutesBeforeStart = 10 'mit Sound :-) .ReminderPlaySound = True 'Erinnerung wiederholen .ReminderSet = True 'Termin speichern .Save End With 'Nächste Zelle auswählen ActiveCell.Offset(1, 0).Select 'Variablen leeren,... sonst "kotzt" Outlook irgendwann mal Set apptOutApp = Nothing Set OutApp = Nothing Loop MsgBox "Termine an Outlook übertragen!" End Sub
Statt A2 würde bei mir ja B2 bzw. eine Zelle mit entsprechender Uhrzeiten eingetragen werden. Zum einen aber, warum 7 Tage dazuaddieren? Das könnte ich ja genauso wie die Erinnerung rauslöschen. Ist für mich eher uninteressant.Wie würde ich das machen, dass die jeweiligen Schichten mit den Uhrzeiten eingeordnet werden. Wird hierzu die Uhrzeit einer Zelle abgefragt oder wird dies im Code hinterlegt. Wie du merkst, DAU
------------------ Gruß Benewet <<Dass sient ceinä Tipveler, tas ißt creatiefe Worrtgästaltung>> Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benewet Mitglied Konstrukteur im Getriebebau
Beiträge: 199 Registriert: 22.11.2005
|
erstellt am: 27. Mai. 2008 10:59 <-- editieren / zitieren --> Unities abgeben:
Hab mir mal den Code etwas zugeschnitten: Code: Sub Excel_Control_Termin_nach_Outlook() 'E 2000 'Dim OutApp As Outlook.Application Dim OutApp As Object, apptOutApp As Object 'Hier beginnen die Termine Range("B2").Select Do Until ActiveCell.Value = "" Set OutApp = CreateObject("Outlook.Application") Set apptOutApp = OutApp.CreateItem(1) 'olAppointmentItem) With apptOutApp 'Datum und Uhrzeit .Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 06:00" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen 'Termininfo .Subject = ActiveCell.Offset(0, 1) 'Termin speichern .Save End With 'Nächste Zelle auswählen ActiveCell.Offset(1, 0).Select 'Variablen leeren,... sonst "kotzt" Outlook irgendwann mal Set apptOutApp = Nothing Set OutApp = Nothing Loop MsgBox "Termine an Outlook übertragen!" End Sub
So könnte z.B. die Datei mit den Uhrzeiten aussehen. Würde mir das was bringen, oder sollte das besser in dem Code irgendwie miteingebaut werden? Ach mir fällt auf, dass die Spalten noch getauscht werden müssten (zumindest damit der Code stimmt, bzw. dieser geändert werden müsste) ------------------ Gruß Benewet <<Dass sient ceinä Tipveler, tas ißt creatiefe Worrtgästaltung>> [Diese Nachricht wurde von benewet am 27. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 WIN7x64 Office 365 ProPlus
|
erstellt am: 27. Mai. 2008 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für benewet
Hi, ich hab's mal kurz angetestet: mit dem code von HIER läuft es wie folgt: Ab A2 stehen untereinander die Termine und zwar: in A2: 31.05.2008 08:00 in B2 dann der Betreff "FRÜH" A3: 31.05.2008 22:00 ; B3: "NACHT" Das mit den 7 Tagen hab ich jetzt nicht weiter hinterfragt, sondern rausgenommen ;-): Tausche Zeile '.Start = Format(Now() + 7, "dd.mm.yyyy") & " 08:00" gegen Zeile .Start = ActiveCell.Value '(das Datum in A2 sollte dementsprechend formatiert sein) Ich habe ehrlich gesagt kaum die Zeit, das weiter zu testen, die ersten Versuche sahen vielversprechend aus. Wenn Du wissen möchtest, was im Einzelnen passiert, geh in den VBA-Editor, und geh das Makro mit der F8 schrittweise durch. Im code stehen schon viele Erklärungen drin, mit ein bißchen Zeit solltest Du es durchschauen können. Code: Sub Excel_Control_Termin_nach_Outlook() 'E 2000 'Dim OutApp As Outlook.Application Dim OutApp As Object, apptOutApp As Object 'Hier beginnen die Termine Range("A2").Select Do Until ActiveCell.Value = "" Set OutApp = CreateObject("Outlook.Application") Set apptOutApp = OutApp.CreateItem(1) 'olAppointmentItem) With apptOutApp 'Datum und Uhrzeit 'Hier werden zum aktuellen Tag 7 Tage addiert .Start = ActiveCell.Value '.Start = Format(Now() + 7, "dd.mm.yyyy") & " 08:00" 'Alternativ werden die Termine aus der Zelle genommen '.Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 08:00" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen 'Termininfo .Subject = "Rechnung: " & ActiveWorkbook.Name & " kontrollieren" 'oder der Betreff steht in der Spalte rechts von den Terminen .Subject = ActiveCell.Offset(0, 1) 'Zusätzlicher Text .Body = "" 'ort .Location = "" .Duration = "5" 'Erinnerung .ReminderMinutesBeforeStart = 10 'mit Sound :-) .ReminderPlaySound = True 'Erinnerung wiederholen .ReminderSet = True 'Termin speichern .Save End With 'Nächste Zelle auswählen ActiveCell.Offset(1, 0).Select 'Variablen leeren,... sonst "kotzt" Outlook irgendwann mal Set apptOutApp = Nothing Set OutApp = Nothing Loop MsgBox "Termine an Outlook übertragen!" End Sub
PS: Ich sehe grade, in der Zwischenzeit hast Du schon selber rumprobiert... also, ich würde die Tabelle an den code anpassen, könnte einfacher sein, als andersrum, wenn Du wirklich keine Ahnung hast ;-) In diesem Fall also so, wie oben beschrieben. Die Uhrzeit kannst Du in der Zelle mit dem Datum (A2) mit angeben.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benewet Mitglied Konstrukteur im Getriebebau
Beiträge: 199 Registriert: 22.11.2005
|
erstellt am: 27. Mai. 2008 12:52 <-- editieren / zitieren --> Unities abgeben:
Also ich hab das Ganze jetzt mal in Excel eingebaut. Hat soweit auch funktioniert. ABER: Irgendwas stimmt nicht. Zum Einen kommen Erinnerungen auf! Zum Anderen wird das Datum irgendwie auf das Jahr 1899 gesetzt. Hab auch schon mehreres ausprobiert in Sachen Format. Hat alles nix genutzt. Eine Sache ist noch. Wie baue ich die Dauer des Termins ein, also im Code? Das mit dem Betreff, sprich der Schicht selbst geht klar und der Beginn (in Zelle B2) auch. Code:
Private Sub CommandButton1_Click() 'E 2000 'Dim OutApp As Outlook.Application Dim OutApp As Object, apptOutApp As Object 'Hier beginnen die Termine Range("B2").Select Do Until ActiveCell.Value = "" Set OutApp = CreateObject("Outlook.Application") Set apptOutApp = OutApp.CreateItem(1) 'olAppointmentItem) With apptOutApp 'Datum und Uhrzeit .Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " 06:00" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen 'Termininfo .Subject = ActiveCell.Offset(0, 2) 'Termin speichern .Save End With 'Nächste Zelle auswählen ActiveCell.Offset(1, 0).Select 'Variablen leeren,... sonst "kotzt" Outlook irgendwann mal Set apptOutApp = Nothing Set OutApp = Nothing Loop MsgBox "Termine an Outlook übertragen!" End Sub
------------------ Gruß Benewet <<Dass sient ceinä Tipveler, tas ißt creatiefe Worrtgästaltung>> Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 WIN7x64 Office 365 ProPlus
|
erstellt am: 27. Mai. 2008 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für benewet
Wenn Du "meinen" code nimmst, siehst Du die Zeile .Duration = "5" <- anpassen Darunter sind die Zeilen für die Erinnerungen (Reminder) Das fand ich an diesem Beispiel ja grade so nett: es steht ne Menge drin ;-) Startzeit steht in A2, Betreff in B2, wenn Du die Zeile mit .body und/oder .location noch ausbaust, kannst Du noch mehr eintragen... .Body = ActiveCell.Offset(0, 2) z.B. Das versteh ich nicht: "Zum Anderen wird das Datum irgendwie auf das Jahr 1899 gesetzt" Im Excel? Datum im Excel sind mit allen Werten einzutragen: "27.05.2008 08:00" vorher auf Datum mit Uhrzeit formatieren, Uhrzeit nicht schlabbern sondern mittippen!
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|