Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

Diskutiere und helfe bei Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo, ich verwende ein voll funktionsfähiges Makro, welches mir in Outlook 2013 das Alter aufgrund des im Feld "Details" eingetragenen... Dieses Thema im Forum "Microsoft Office" wurde erstellt von tuskaben, 22. Februar 2018.

  1. tuskaben
    tuskaben Gast

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen


    Hallo,


    ich verwende ein voll funktionsfähiges Makro, welches mir in Outlook 2013 das Alter

    aufgrund des im Feld "Details" eingetragenen Geburtstagsdatums errechnet.


    Es gibt hiebei 2 Nachteile, uzw.


    1. Das Makro geht sämtliche Kontakte durch und berücksichtigt nicht nur jene, bei denen ein Geburtsdatum vorhanden ist.

    Das stört mich jetzt aber nicht besonders - nice to have, würde ich hier sagen


    2. Wenn das Makro läuft kommt es zu einem Flackern auf dem Bildschirm und der PC kann nicht benutzt werden(!),

    bis das Makro mit seinen Berechnungen fertig ist.

    Hiezu muß ich bemerken, daß ich in einem anderen Forum schon die Auskunft erhalten habe, daß ich den Code:

    myitems(i).Display nicht auskommentieren kann, da dieser Code nach einem Neustart von Outlook benötigt wird


    Daher meine Frage - speziell zum 2. Punkt: Gibt es hier wirklich keine Möglichkeit um das Bildschirmflackern dauerhaft zu unterdrücken?

    (Der Code funktioniert ansonsten wie gewünscht und sollte daher mE in keiner Weise beeinträchtigt werden).


    Hier der Code - die Quelle ist beinhaltet (auskommentiert):


    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
    Next
    MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "
    End Sub


    Danke im voraus für die Bemühungen.


    Gruß

    Karl
     
  2. Augustine_E Win User

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

    Hallo tuskaben,

    mal sehen was ich für dich tun kann.

    Du sollst jetzt nicht aufgeben. Federica hat schon vorgeschlagen, dass du bei
    MSDN
    das Problem schilderst, ich möchte noch dazu
    TechNet
    vorschlagen. Dort sind Profis und ich denke, dass jemand dir dort helfen kann.

    Ich vermute, diesen Code läuft auf den Haupt-Thread, dadurch werden alles blockiert, und wenn du versuchst mit der Maus zu bewegen kann es dazu führen, dass der Bildschirm flackert. Den Code muss so ausgeschickt werden so, dass ein neues Unterthread verwendet
    wird, um die Berechnung im Hintergrund durchzuführen. Dazu brauchst du ein erfahrener Programmierer und auf den beiden Seiten wirst du ihn schnell finden. Versuchen einfach diese Möglichkeiten, du hast nichts zu verlieren oder?

    Wir freuen uns auf dein Feedback.

    LG

    AEG
  3. tuskaben Win User

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

    Hallo Michael,

    > Karl, versuchst Du, das Makro zu verstehen oder suchst eine fertige Lösung?

    > Darin liegt für viele freiwillig in Foren mitwirkende auch der Unterschied zwischen helfen und kostenlos für andere arbeiten.

    ich kann - wie schon erwähnt - nicht programmieren und suche daher eine adaptierte (fertige) Lösung zu o.a. Makro.

    Mein "Verständnis" zu einem Code beschränkt sich lediglich darauf, diesen in Outlook einzubinden oder

    - wie Du oben vielleicht schon bemerkt hast - eine eckige gegen eine runde Klammer auszutauschen.

    In diesem Leben werde ich auch kein Programmierer mehr werden...

    Nichtsdestotrotz versuche ich, die mir gegebenen Anleitungen/Hinweise zu verstehen.

    Weiters versuche ich - nach meinen Möglichkeiten - einen Code zu testen.

    Du hast mir jetzt viele Infos gegeben, zB

    > Der Aufruf von Display und gleich darauf Close führt nun mal zum Flackern.

    > Fürs Berechnen und Speichern des Alters ist der Aufruf von Display nicht nötig.

    > So oder so steht hinterher die Info in dem Element. Öffne es oder gehe mit der Maus darüber, dann siehst Du das.

    Das bedeutet für mich, dass ich als
    Nichtprogrammierer in einen Programmcode eingreifen
    und diesen anpassen soll!? Da kommen dann auch schnell solche Meldungen wie "Fehler beim Kompilieren: For ohne Next", oder If - EndIf...

    Wenn man das dann - als Laie wohlgemerkt(!) - hinter sich gebracht hat, bleibt dieser Code übrig:

    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
    Das Makro wäre ideal, da es nur die Felder berücksichtigt, bei denen unter Details ein Geburtsdatum erfasst wurde -

    leider wird das ALTER nicht berechnet(!) und auch nicht in das Feld "Ort" geschrieben --> so wie es bei dem anderen Makro geschieht.

    Aber habe ich das weiter oben nicht schon erwähnt??

    Aus diesem Grund verstehe ich auch Deine diesbezüglichen Aussagen w/Berechnung des Alters nicht.

    > Durch Verändern eines Eintrags einer Serie wird eine Ausnahme erstellt. Das Alter steht dann in dieser Ausnahme;

    > öffnest Du dagegen die ganze Serie, dann steht dort kein Alter. Das hat aber auch beides nichts damit zu tun,

    > ob Display aufgerufen wird oder nicht.

    Ich trage im Feld "Details" in Outlook 2013 das Geburtsdatum ein - ich ändere keinen Eintrag einer Serie.

    > Wenn Du hinterher das Alter sehen willst, mußt Du eben mit der Maus darüber gehen,

    > das Element von Hand öffnen oder eine Listenansicht erstellen, wo das Feld "Ort" angezeigt wird.

    - In "Outlook Heute" wird bei mir ein "Ganztägiges Ereignis" - "Geburtstag von Vorname Zuname" - "Alter: XX"

    (lt. Berechnung) angezeigt (nach Ausführung des Makros bei dem das Alter berechnet wird!).

    - Rechts von "Outlook Heute" habe ich den Kalender eingeblendet. Dort wird mir "Geburtstag von Vorname Zuname" -

    "Ganztägig" und wenn ich mit dem Cursor über diesen Eintrag hovere auch das berechnete Alter ... "(Alter: XX)"

    angezeigt (nach Ausführung des Makros bei dem das Alter berechnet wird!).

    An dieser Stelle bitte nochmals:

    Ich bräuchte eine Auskunft, ob das was ich möchte programmtechnisch möglich ist oder nicht - im Idealfall von jemanden, der diese Makros schon selbst getestet hat oder auch bereit ist, sich die Zeit zu nehmen, und den Code anzupassen (Outlook 2013) und hier
    zu veröffentlichen (der o.a. Code hat knappe 30 Zeilen).

    Gruß

    Karl
  4. Michael Bauer (vboff Win User

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

    Hallo,

    "myitems(i).Display nicht auskommentieren kann, da dieser Code nach einem Neustart von Outlook benötigt wird"

    Das ergibt keinen Sinn. Kommentiere das aus und es wird kein Kontakt mehr angezeigt. Ein simpler 10-Sekunden Test hätte Dir das auch verraten...

    Wenn der Kontakt nicht mehr angezeigt wird, dann kann unten auch das Schließen ausgeklammert werden.
  5. Michael Bauer (vboff Win User

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

    Karl, versuchst Du, das Makro zu verstehen oder suchst eine fertige Lösung? Darin liegt für viele freiwillig in Foren mitwirkende auch der Unterschied zwischen helfen und kostenlos für andere arbeiten.

    Der Aufruf von Display und gleich darauf Close führt nun mal zum Flackern. Fürs Berechnen und Speichern des Alters ist der Aufruf von Display nicht nötig. So oder so steht hinterher die Info in dem Element. Öffne es oder gehe mit der Maus darüber, dann siehst
    Du das.

    Durch Verändern eines Eintrags einer Serie wird eine Ausnahme erstellt. Das Alter steht dann in dieser Ausnahme; öffnest Du dagegen die ganze Serie, dann steht dort kein Alter. Das hat aber auch beides nichts damit zu tun, ob Display aufgerufen wird oder
    nicht.

    Wenn Du hinterher das Alter sehen willst, mußt Du eben mit der Maus darüber gehen, das Element von Hand öffnen oder eine Listenansicht erstellen, wo das Feld "Ort" angezeigt wird.
  6. tuskaben Win User

    Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen

    2Michael Bauer

    Mein Problem ist, dass ich nach auskommentieren von "myitems(i).Display" oder entfernen dieses Teils oder Verwendung

    des Originalcodes lt. Web in Outlook 2013 das
    Alter NICHT mehr angezeigt bekomme
    (habe "alles mögliche" probiert).

    D.h. mein Stand ist derzeit:

    1. Verwendung des Codes w.o. angeführt mit Bildschirmflackern + Anzeige der Anzahl sämtlicher Kontakte im Ergebnis

    + Anzeige des Alters(!)

    ODER

    2. Verwendung des auskommentierten Codes ohne Bildschirmflackern + Anzeige der Anzahl der durchgearbeiteten

    Geburtstage im Ergebnis, aber KEINE Anzeige des Alters mehr in Outlook (und somit bei Synchronisierung mit

    MyPhoneExplorer auch nicht auf dem Android-Handy)
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen - Microsoft Office

Die Seite wird geladen...

Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen - Similar Threads - Outlook Makro Geburtstage

Forum Datum

alte Exceldatei mit Makro öffnen

alte Exceldatei mit Makro öffnen: Excel öffnet eigene Makros aus Sicherheitsgründen in alten Dateien nicht mehr! Allgemeine Hilfeangaben führen nicht zum Ziel. Wie weiter?
Microsoft Office 24. März 2023

Gesamtstunden errechnen

Gesamtstunden errechnen: Hallo Zusammen,Ich möchte mir eine Excel Tabelle erstellen, bei der ich auch die Gesamtstundenanzahl anzeigen lassen kann und mit Hilfe dieser meinen Monatslohn ausrechnen.Nun Fehlt mir die...
Microsoft Office 30. Juli 2022

Outlook Kontakte Geburtstage mit Alter

Outlook Kontakte Geburtstage mit Alter: Hallo zusammen, wenn ich im Outlook Adressbuch das Geburtsdatum eintrage wird dann im Outlook Kalender das Alter nicht angezeigt. Ist es möglich dies zu ändern? Danke
Microsoft Office 16. Februar 2020

Outlook Kontakte Geburtstage mit Alter

Outlook Kontakte Geburtstage mit Alter: Hallo zusammen, wenn ich im Outlook Adressbuch das Geburtsdatum eintrage wird dann im Outlook Kalender das Alter nicht angezeigt. Ist es möglich dies zu ändern? Danke
Outlook.com 16. Februar 2020

Bildschirmflackern

Bildschirmflackern: Hallo Ich habe alle Treiber deinstalliert und das Gerät neugestartet. Das Problem wurde nicht behoben. Wann kann ich noch tun? Der obere Rand des Bildschirms flackert. Danke
Surface 26. September 2017

Bildschirmflackern in allen officeprodukten

Bildschirmflackern in allen officeprodukten: seit ca. 1 Woche flackert der Bildschirm, was sich insbesondere auf die Nutzung der rechten Maustaste auswirkt, da die Menüs verschwinden verwendet wird MS Office Home and Business 2013 Version...
Microsoft Office 11. August 2017

"Excel Formel" zur Errechnung des Alter duch Angabe des Geburtsdatums und Todesdatum

"Excel Formel" zur Errechnung des Alter duch Angabe des Geburtsdatums und Todesdatum: Ich bin reiner Laie, was Formeln in Excel angeht. Aber auch Freunde fanden keine Lösung, obwohl es wahrscheinlich einfach ist. Name Geb.Datum(C) Todestag(D) Alter(E) oooooo...
Microsoft Office 3. Mai 2017
Outlook-Makro Geburtstage/Alter errechnen | Bildschirmflackern abstellen solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.