Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Outlook Datenimport

Betrifft: Outlook Datenimport von: traktorjoe
Geschrieben am: 16.04.2014 09:50:38

Guten Morgen zusammen,

ich würde gerne eine Liste mit Terminen (welche im Vorfeld durch ein Makro in das entsprechende Format gebracht wird) in Outlook importieren. Allerdings bekomme ich im letzten Schritt des Import eine Fehlermeldung, dass ich einen Bereich vergeben muss. Dies mache ich aber egentlich bereits durch ein Makro und nach Ausführung des Makros kann ich oben links auch den Bereich auswählen. Hat einer eine Idee woran das liegen kann?

Anbei der Code für den Bereichsnamen:

Sub Bereich()
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Names.Add ActiveSheet.["Kalender"], ActiveSheet.Range(Cells(1, 1), Cells(LastRow,  _
LastCol))
End Sub

Vielen Dank schon mal und viele Grüße!
Martin

  

Betrifft: AW: Outlook Datenimport von: Oberschlumpf
Geschrieben am: 16.04.2014 10:20:41

Moin Martin,

ohne, dass wir deinen kompletten Code kennen, können wir nur raten, wo das Problem liegen könnte.
Ich versuch es trotzdem mal.

Sollte mein "Raten" falsch sein, zeig uns bitte nicht nur den Code, sondern zeig uns eine Bsp-Datei inklusive Code + Bsp-Terminen.

So, ich denke, der Bereich, der bei dir fehlt, ist nicht ein Zellenbereich, sondern der zeitliche Bereich für einen Outlook-Termin.
D.h., ein Outlook benötigt einen Start- UND Endzeitpunkt.

Ich importiere auch Termine von Excel nach Outlook, und zwar die Termine, wenn ich bei eBay was ersteigern will. Ich vergess so was oft, aber Outlook erinnert mich daran :-)

Und schlussendlich der Code für das Einfpgen in Outlook kann so aussehen:

With objTerminNeu
    'wie in einer Mail, die Betreffzeile
    .Subject = 

    'wann beginnt der Termin...Format MUSS Tag Uhrzeit sein...z Bsp 16.04.2014 09:00:00
    .Start = 

    'wann endet der Termin...Format MUSS Tag Uhrzeit sein...z Bsp 16.04.2014 09:01:00
    .End = 

    'wenn es sich um einen ganztägigen Termin handelt, z Bsp Geb.tag
    '.AllDayEvent = 
    
    'wie in einer Mail der Bereich, in dem man Text schreiben kann
    '.Body = 

    'wie weit vor dem Termin soll Outlook erinnern...z Bsp 30 Min vorher
    .ReminderMinutesBeforeStart = 
    
    'den Termin setzen
    .ReminderSet = 

    'den Importvorgang in Outlook speichern
    .Save 
End With

So, hilft das?

Ciao
Thorsten

Bsp-Dateien bitte im Excel-2003-XLS-Format


  

Betrifft: AW: Outlook Datenimport von: traktorjoe
Geschrieben am: 16.04.2014 11:10:48

Hi Thorsten,

vielen Dank für deine schnelle Antwort. Ich habe allerdings den zeitlichen Rahmen abgegrenzt (zumindest denke ich das :-D). Aufgrund der Fehlermeldung, welche ich beim Import bekomme, vermute ich, dass es sich tatsächlich um einen Zellbereich handelt, aber ich habe dir eine verkürzte Beispieldatei angehängt:

https://www.herber.de/bbs/user/90192.xls

Ich stoße den Importvorgang im Übrigen (noch) händisch in Outlook an - also Datei-Öffnen-...

Vielleicht liegt es auch an meiner Speichermodalität, daher hier der Code, welcher das Sheet speichert:

Sub Speichern()
ActiveWorkbook.SaveAs Filename:="C:\Users\****\Documents\Studium\WFI\Organisatorisches\ _
Stundenplan\" & Date & "_Import.xls", FileFormat:=xlNormal
End Sub
Der ganze Code davor ist eigentlich total irrelevant, da er, wie gesagt, die Mappe nur formatiert, d.h. Spalten löscht und hinzufügt etc... Aber falls möchtest, kann ich ihn natürlich auch hochladen. In der Mappe selbst dürfte kein Code sein, da ich alles über meine persönliche Mappe ausführe.

Viele Grüße und dankeeeeeee :-)
Martin


  

Betrifft: ich bin raus... von: Oberschlumpf
Geschrieben am: 16.04.2014 11:19:07

Hi Martin

Was soll ich mit deiner Datei anfangen?????

Mit NUR den paar Daten in der Datei weiß ich noch immer nicht, was dein Code, der fürs Importieren zuständig ist, macht!
Und wenn tatsächlich mit dem Fehler ein Zellbereich gemeint ist, kenn ich nohc immer nicht den Code, der diesen Fehler verursacht.
Und wenn tatsächlich einer der Formatierungsbefehle "schuld" am Fehler ist????
Auch DEN Code zeigste uns nicht.

Is nich schlimm...
...sorry, aber ich mag dieses Rätselraten nicht - deswegen wünsch ich dir weiter viel Erfolg.

Ciao
Thorsten


  

Betrifft: AW: Outlook Datenimport von: firmus
Geschrieben am: 16.04.2014 16:27:39

Hi Martin,

gehe den Weg doch mal anders herum.
Exportiere aus Outlook eine XLS-file und sehe Dir den Bereich an.
Melde Dich, ob dies weiterhalf.

Ich kann später vllt. nochmals gucken.

Gruß
firmus


  

Betrifft: AW: Outlook Datenimport von: traktorjoe
Geschrieben am: 16.04.2014 18:13:10

Hi zusammen,

also ich hab das Problem gelöst, wobei mir echt schleierhaft ist, warum das überhaupt auftrat. Folgender Code hat einem Bereich einen Namen verpasst und somit hätte der Import nach Outlook auch funktionieren sollen. Anyway, hat er aber nicht....

LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Names.Add ActiveSheet.["Kalender"], ActiveSheet.Range(Cells(1, 1), Cells(LastRow, LastCol))

Ich hab jetzt ein wenig rumgespielt und vorherigen Code durch

Sub Bereich()
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Range(Cells(1, 1), Cells(LastRow, LastCol)).Name = "Kalender"
End Sub
ersetzt. Jetzt gehts auf einmal. In Excel (also ohne Betrachtung des Importvorgangs) haben beide funktioniert. Ich erhalte mit beiden Codes einen Bereichsnamen, beim Import funktioniert allerdings faktisch nur der letzte....

Naja, herzlichen Dank an alle, die sich Gedanken gemacht haben und schon mal frohe Feiertage :)

Bis denn, Martin


  

Betrifft: AW: Outlook Datenimport von: firmus
Geschrieben am: 16.04.2014 22:04:08

Hallo Martin,

Die Anweisungen sind nicht identisch:
ActiveSheet.Range(Cells(1, 1), Cells(LastRow, LastCol)).Name = "Kalender" (funktioniert)
ActiveSheet.Names.Add ActiveSheet.["Kalender"], ActiveSheet.Range(Cells(1, 1), Cells(LastRow,LastCol))
funktionert nicht.
Meines Wissens nach wird mit [] eine Variable benannt. In deinem Fall wäre es die Variable -"Kalender"-. Die Apostrophen sind Teil des Variablennamens.
Ich bin mir nicht sicher, ob diese Art syntaktisch überhaupt akzeptiert wird - habe es nicht nachvollzogen. Ergebnis bzgl. des Bereichsnamens ist für diesen Fall aber Nonsens.
Das lässt sich leicht durch Ansicht der definierten Namen nachvollziehen.

Gruß
Firmus


 

Beiträge aus den Excel-Beispielen zum Thema "Outlook Datenimport"