Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Termineintrag in Outlook mit Beschriftungsfarbe

Termineintrag in Outlook mit Beschriftungsfarbe
11.02.2008 23:38:00
Larissa
Hallo,
ich lasse mir über Excel einen Termin im Outlookkalender eintragen (Dank Tino!)
Was mir nur noch fehlt, ist die Farbe. Weiß jemand, wie man die Beschriftung auf "wichtig = rot" in dieses Makro einbauen kann?

Sub Term_Out()
Dim myOLApp As Object
Dim myItem As Object
Set myOLApp = CreateObject("Outlook.Application")
Set myNamespace = myOLApp.GetNameSpace("MAPI")
Set myItem = myOLApp.CreateItem(1)
With myItem
'.Subject = SubjectStr
.Recipients.Add ("mail@domain.de")
.Subject = "Datei: " & ActiveWorkbook.Name
.Body = "Was ich schon immer mal sagen wollte..."
.Location = "Schule"
.Start = Format(Range("A2").Value, "dd.mm.yyyy") & " " & Format(Range("B1").Value, "hh:mm")
.AllDayEvent = True
'.Duration = "10" 'Dauer in minuten
.ReminderMinutesBeforeStart = 10
.ReminderPlaySound = True
.ReminderSet = True
.Save
.Send
End With
MsgBox "Zahlungstermin wurde im Outlookkalender eingetragen."
Set myOLApp = Nothing
Set myItem = Nothing
End Sub


Danke für Eure Hilfe,
Lieben Gruß,
Larissa

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Termineintrag in Outlook mit Beschriftungsfarbe
12.02.2008 00:03:00
Josef
Hallo Larissa,
direkt geht das nicht.
Du musst einen Verweis auf "Microsoft CDO 1.21 Library" setzen.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Term_Out()
Dim myOLApp As Object
Dim myItem As Object
Dim myNameSpace
Set myOLApp = CreateObject("Outlook.Application")
Set myNameSpace = myOLApp.GetNameSpace("MAPI")
Set myItem = myOLApp.CreateItem(1)
With myItem
    '.Subject = SubjectStr
    .Recipients.Add ("mail@domain.de")
    .Subject = "Datei: " & ActiveWorkbook.Name
    .Body = "Was ich schon immer mal sagen wollte..."
    .Location = "Schule"
    .Start = Format(Range("A2").Value, "dd.mm.yyyy") & " " & Format(Range("B1").Value, "hh:mm")
    .AllDayEvent = True
    '.Duration = "10" 'Dauer in minuten
    .ReminderMinutesBeforeStart = 10
    .ReminderPlaySound = True
    .ReminderSet = True
    .Save
    .Send
    SetApptColorLabel myItem, 1
End With
MsgBox "Zahlungstermin wurde im Outlookkalender eingetragen."
Set myOLApp = Nothing
Set myItem = Nothing
End Sub

Function SetApptColorLabel(objAppt As Object, intColor As Integer)

' Achtung, hier brauchen wir die Microsoft CDO 1.21 Library
' intColor - Übergeben der Werte - Standard beim Outlook
' 1=Wichtig, 2=Geschäftlich, etc.
Const CdoPropSetID1 = "0220060000000000C000000000000046"
Const CdoAppt_Colors = "0x8214"
Dim objCDO As Object
Dim objMsg As Object
Dim colFields As Object
Dim objField As Object

On Error Resume Next

Set objCDO = CreateObject("MAPI.Session")

objCDO.Logon "", "", False, False

If Not objAppt.EntryID = "" Then
    
    Set objMsg = objCDO.GetMessage(objAppt.EntryID, objAppt.Parent.StoreID)
    Set colFields = objMsg.Fields
    Set objField = colFields.Item(CdoAppt_Colors, CdoPropSetID1)
    
    If objField Is Nothing Then
        
        Err.Clear
        
        Set objField = colFields.Add(CdoAppt_Colors, vbLong, intColor, CdoPropSetID1)
        
    Else
        
        objField.Value = intColor
        
    End If
    
    objMsg.Update True, True
    
Else
    
    If MsgBox("Der Kalendereintrag muss vor dem Setzen der Farbe zunächst gespeichert werden." & _
        vbCrLf & "Möchten Sie den Eintrag jetzt speichern?", vbQuestion + vbYesNo + _
        vbDefaultButton1, "Kalenderbeschriftung setzen") = vbYes Then
        
        objAppt.Save
        Call SetApptColorLabel(objAppt, intColor)
        
    End If
    
End If

Set objAppt = Nothing
Set objMsg = Nothing
Set colFields = Nothing
Set objField = Nothing
objCDO.Logoff
Set objCDO = Nothing

End Function


Gruß Sepp



Anzeige
AW: vergessen
12.02.2008 08:46:36
Larissa
Boah, danke Sepp.
Ich hätte nie gedacht, dass das so ein kompliziertes Ding ist. Funktioniert aber super.
Danke nochmal.
Gruß, Larissa

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige