Autor |
Nachricht |
mountainHW
Anmeldedatum: 08.08.2017
Beiträge: 23
|
Verfasst am:
Mo Feb 19, 2018 21:26 |
|
Das ist ja lustig. Genau auf diese Seite bin ich zu dem Thema auch immer wieder gestoßen. Danke für die Praxiserfahrungen.
Jetzt verstehe ich auch, wie es prinzipiell funktioniert. Ich habe mich bis jetzt gefragt, wie das Alter dynamisch zur Laufzeit berechnet wird. Aber so ist es ja statisch.
Ich habe zwar noch nie VBA programmiert, aber ich würde auch genau den Text
myFolder.items(i).Display
löschen.
Das ist die einzige Stelle, die wohl etwas anzeigt und zwar nacheinander die Termine mit "Geburtstag von". |
|
|
|
|
tuska
Gast
|
Verfasst am:
Mo Feb 19, 2018 21:46 |
|
2icke1954
Mit diesem Code werden im Ergebnis nur die Geburtstage berechnet (also nicht sämtl. Kontakte durchgesehen).
In Outlook erhalte ich jedoch nur die Anzeige "Geburtstag von AAAz" Ganztägig (auch nach Neustart von Outlook).
Erwarten würde ich mir in Outlook-Heute die Anzeige "Geburtstag von AAAz (Alter: 62)" Ganztägig.
Beim Outlook-Kontakt wurde in den "Details" im Feld "Geburtstag" testhalber 20.02.1956 eingegeben.
Code: | Sub AlterAnzeigen()
Dim myNameSpace As NameSpace
Dim Alter As String
Dim Zaehler
Dim GebJahr
Set myolApp = CreateObject("Outlook.Application")
Set myNameSpace = myolApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderCalendar)
Set myitems = myFolder.Items
Zaehler = 0
'http://www.pctipp.ch/tipps-tricks/kummerkasten/office/artikel/outlook-kontakte-geburtstag-und-aktuelles-alter-anzeigen-81701/
'Suche nach dem Begriff "Geburtstag von" in allen Kalendereinträgen
For i = myitems.Count To 1 Step -1
'Prüfung der Kalendereinträge auf den Text "Geburtstag von"
'und Überprüfung ob es sich um ein ganztägiges Ereignis handelt
If InStr(myitems(i).Subject, "Geburtstag von") And myitems(i).AllDayEvent = True Then
' myitems(i).Display
GebJahr = myitems(i).GetRecurrencePattern.PatternStartDate
Alter = DateDiff("yyyy", GebJahr, Now()) 'Hier wird das Alter errechnet
' myitems(i).Location = "[Alter: " + Alter + "]" 'Originalcode [(Alter: 31)] eckige + runde Klammern
' myitems(i).Location = "(Alter: " + Alter + ")" 'Originalcode ((Alter: 31)) zwei runde Klammern
myitems(i).Location = "Alter: " + Alter + "" 'geänderter Code: (Alter: 31) nur runde Klammern in Outlook, Handysynchro: OK
myitems(i).Save
myitems(i).Close 0
Zaehler = Zaehler + 1 'Zähler für die Anzahl der geänderten Einträge
End If
Next
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "
End Sub |
Irgendetwas muß hier noch immer nicht stimmen, denn das ALTER wird mit diesem Code bei mir in Outlook 2013 nicht angezeigt.
Kannst Du bitte nochmals drüberschauen? Danke! |
|
|
|
|
icke1954
Moderator
Anmeldedatum: 19.04.2014
Beiträge: 15877
|
Verfasst am:
Mo Feb 19, 2018 22:40 |
|
Sorry das war wohl mein Fehler
Du mußt
aktivieren und das Flackern ertragen.
Es ist so, dass nach einem einmaligen Durchlauf mit dem Code bis zu einem Neustart von Outlook, es auch ohne funktioniert. Allerdings wird der Code nach einem Neustart, wieder benötigt. |
_________________ Samsung Galaxy S3 / Android 4.3
Samsung Galaxy S5 / Android 6.01
Samsung Galaxy S8 / Android 9.0
Samsung Galaxy Tab 4 Android 10.0
Samsung Galaxy S20 / Android 13.0
MPE Version 2.1 akt. Nightly / akt. MPE-Client Beta |
|
|
|
tuska
Gast
|
Verfasst am:
Mo Feb 19, 2018 23:23 |
|
2icke1954
OK und danke, daß Du Dir das nochmals genau angesehen hast! |
|
|
|
|
|
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB
© 2001, 2002 phpBB Group :: FI Theme ::
Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de
| |