Anzeige
Archiv - Navigation
1160to1164
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

Termineintrag über Exceltabelle in Outlook

Termineintrag über Exceltabelle in Outlook
Lemmi
Hallo zusammen,
heute hat "Mann" soviele Vertäge und Angebote die es einem schwierig machen, alles im Bilck zubalten!
Ich möchte gerne wissen ob ich mir aus eine Excel- Datei eine Termineintrag in Outlook machen kann!
Also ich habe eine Musterdatei aufgebaut (https://www.herber.de/bbs/user/70034.xlsx)wo ich Vertragseckdaten eintrage und diese mit einer Vorlaufzeit von x Wochen zur Vorlage oder ähnliches in Outlook eingetragen haben möchte!
Wenn nun ein Vertrag am 31.12.2010 ausläuft und 3 monate vorher nicht gekündigt worden ist, wird bekanntlich der Vertrag ein Jahr verlängert!
D.h.:
Vertrag A Läuft in 3 Monaten aus! Um nicht diesen Termin zu verpassen würde ich ein Vorlaufzeit von 2-4 Wochen nochmals als Sicherheit drauf packen. D.h. ab dem 31.12-12Wochen -4 Wochen muss ein Eintrag in Outlook durchgeführt worden sein!
Wie könnte man das realisieren?
Gruß
Lemmi

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

Betreff
Benutzer
Anzeige
AW: Termineintrag über Exceltabelle in Outlook
13.06.2010 15:51:22
Tino
Hallo,
kannst mal diesen Code testen.
Sub Beispiel()
Dim objOutlook As Object, objNameSpace As Object
Dim objMapiFolder As Object, objItems As Object
Dim vonDatum As Date, bisDatum As Date, LMinuten As Long
Dim strBetreff As String, strBody As String
Dim booFind As Boolean
Dim meAr, nCount As Long

With Tabelle1
    meAr = .Range("B6", .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 7)
End With
    
    Set objOutlook = CreateObject("Outlook.Application")
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objMapiFolder = objNameSpace.GetDefaultFolder(9)
    
          
For nCount = 1 To Ubound(meAr)
    If LCase(meAr(nCount, 5)) = "ja" Then
        strBetreff = "Kündigungsfrist:" & meAr(nCount, 1)            'Betreffzeile 
        vonDatum = (meAr(nCount, 3) + TimeSerial(8, 0, 0)) - 7 * meAr(nCount, 7) 'von 
        bisDatum = (meAr(nCount, 3) + TimeSerial(8, 30, 0)) - 7 * meAr(nCount, 7) 'bis 
        strBody = "Termineintrag: Hallo Lemmi," & Chr(10) & _
                  "der " & meAr(nCount, 1) & " läuft in " & meAr(nCount, 7) & " Wochen aus !" 'Body 
        
        'dauer in Minuten berechnen 
        LMinuten = Application.WorksheetFunction.Round((bisDatum - vonDatum) * 1440, 0)

          Set objItems = objMapiFolder.Items
          objItems.Sort "[Start]"
          objItems.IncludeRecurrences = True
          
          Set objItems = objItems.Restrict("[Start] >= '" & Format(vonDatum, "dd.mm.yyyy hh:mm") & "'" & _
                        "AND [Start] <= '" & Format(vonDatum + 1, "dd.mm.yyyy hh:mm") & "'")
          
          'Schleife durch alle gefundenen Termine bis Start und Betreff übereinstimmen 
          For Each objItems In objItems
           With objItems
            If .Start = vonDatum And .Subject = strBetreff Then
              booFind = True
              Exit For
            End If
           End With
          Next objItems
          
          If booFind Then
                'hier berabeiten ************************* 
                With objItems
                  .body = strBody
                  .Start = Format(vonDatum, "dd.mm.yyyy hh:mm")
                  .Duration = LMinuten 'dauer in Minuten 
                 .Save
                End With
          Else
                'hier anlegen    ************************* 
                 Set objItems = objMapiFolder.Items.Add
                 With objItems
                  .Subject = strBetreff
                  .body = strBody
                  .Start = Format(vonDatum, "dd.mm.yyyy hh:mm")
                  .Duration = LMinuten 'dauer in Minuten 
                  .Save
                 End With
          End If
      End If
Next nCount

Set objNameSpace = Nothing
Set objNameSpace = Nothing
Set objMapiFolder = Nothing
Set objItems = Nothing
End Sub
Gruß Tino
Anzeige
AW: Termineintrag über Exceltabelle in Outlook
15.06.2010 20:11:43
Thomas
Hallo Tino,
da sich Lemmi nicht mehr meldet so das ggf. meine fragen dazu gestillt würden so frag ich nun.
Lemmi's idee ist nicht schlecht nur wenn in der Tabelle sich was ändert so sollte auch in Outlook die Termine geändert werden. Ich habe das mal bei mir durchlaufen lassen bzw. durchgespielt (neuer Termin und einen anderen gelöscht). Ich muss erst alle Termine in Outlook löschen und dann den Code neu ausführen über F5 im Codefenster.
Geht es über eine Schaltfläche den Code zu starten wenn sich was in der Tabelle ändert und kann man die aktuelle Tabelle Outlook übergeben ohne das man erst die Termine löschen muss?
Gruß Thomas T.
Anzeige
vielleicht so?
15.06.2010 22:50:42
Tino
Hallo,
vielleicht geht es so indem Du in der Spalte F ein ja oder nein wählst.
Wichtig ist, die Zuordnung der Einträge wird an dem Betreff gemacht (Spalte B),
wird dieser verändert wird der Eintrag nicht mehr gefunden und somit neu angelegt.
https://www.herber.de/bbs/user/70078.xls
Gruß Tino
AW: vielleicht so?
15.06.2010 23:08:37
Lemmi
Hallo Ihr,
leider war ich "schockiert" wie guuuuut und schellllllllll das Tino gelöst hatte!
Vielen Dank!
... konnte leider nicht schneller antworten!
Ich möcht mich recht herzlich bedanken!
...offensichtlich hat Thomas "blut gelekt" seine Idee würde das Makro vollkommen machen!
Also wenn ich noch einen Wunsch habe, dann würde ich auch gerne wissen wollen wie ein Marko aussieht, welches nur noch die Änderungen löscht/ verändert!
Gruß
Lemmi
Anzeige
AW: vielleicht so?
15.06.2010 23:21:38
Lemmi
Hallo Tino!
.. ich habe Deine Änderung zu spät gesehen!
..Ist ja alles schon Drin!
Vielen Dank! Super!
Gruß
Lemmi
AW: vielleicht so?
15.06.2010 23:30:06
Lemmi
Hallo Tino,
es ist wohl schon zu spät für mich!
muss Doch noch meinen Wunsch äußern!
...Also wenn ich noch einen Wunsch habe, dann würde ich auch gerne wissen wollen wie ein Marko aussieht, welches nur noch die Änderungen löscht/ verändert!
Gruß
Lemmi
bis morgen!
so müsste es gehen.
16.06.2010 16:39:49
Tino
Hallo,
https://www.herber.de/bbs/user/70098.xls
Beachte wenn in Spalte F ein ja steht, darf der Betreff in Spalte B nicht mehr geändert werden weil sonst dieser Kalendereintrag nicht mehr gefunden wird.
Gruß Tino
Anzeige
AW: so müsste es gehen.
16.06.2010 18:32:15
Thomas
Hallo Tino,
nochmal zum mitschreiben. Ich muß ein nein eintragen dann wird der Termin aus Outlook genommen. Passiert das gleich nach dem eintragen von nein oder wann geschied das? Erst danach kann ich die Zeile löschen oder überschreiben für neuen eintrag?
Hab die neue Datei mal getestet und nun geht gar nichts also Terminübergabe mässig.
Hallo Lemmi,
ich lese so gut es geht jeden Tag mit was hier im Forum geschrieben wird und Kopiere oder Speicher mir nützliches raus und habe schon lange gehofft das es mit dem Beitrag mal weiter geht und nun hab ich halt mal mit ein gemischt weil so lange nichts ging. Hoffe das das in Ordnung ist?
Ich würde deine Idee einmal für das wie du es im Sinn hast verwenden und einmal für meine andere Mappe wo ich meine Wohnungsbesichtigungstermine drin stehen habe wenn welche anstehen und ggf. auch Kündigungsfristen.
Gruß Thomas T.
Anzeige
AW: so müsste es gehen.
16.06.2010 18:55:27
Tino
Hallo,
also wenn Du ein ja wählst wird der Eintrag in Outlook eingetragen,
wählst Du ein nein wird dieser wieder gelöscht.
Wenn ein ja steht, kannst Du Änderungen machen außer im Betreff.
Wenn ein nein steht, kannst Du alles aus dieser Zeile entfernen.
Bedingungen für einen Eintrag sind.
In A ist ein Text
In D ist ein Datum
In F steht ein ja
In H ist eine Zahl größer gleich 0
Gruß Tino
AW: so müsste es gehen.
16.06.2010 19:16:44
Thomas
Hallo Tino,
hab ich gemacht mit dem ja und hab mal einfach gespeichert und hab Excel zu gemacht und Outlook auf aber keine Termine im Kalender. Vorher konnte ich mit F5 manuel den Code aktivieren und danach waren die Termine drin. Daher war ja meine Frage ob das mit einem Butten zu machen ist oder ob das nun automatisch beim Speichern von Excel abläuft oder wie nun? Und danke für die Geduld.
Gruß Thomas T.
Anzeige
AW: so müsste es gehen.
16.06.2010 19:28:49
Tino
Hallo,
bei mir werden die Aktionen wie beschrieben ausgeführt.
Mehrfach getestet bei geöffneten und geschlossenen Outlook.
Gruß Tino
AW: so müsste es gehen.
16.06.2010 20:11:15
Thomas
Hallo Tino,
nun funzt es auch bei mir aber erst als ich einen neuen Termin eingetragen hatte dann waren die anderen Termine auch drin. Danke
Wünsche einen schönen abend gruß Thomas T.

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige