1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Adressbuch und AppleScript

Dieses Thema im Forum "AppleScript" wurde erstellt von Mini-Leopard, 26.09.08.

  1. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Hallo alle zusammen!

    Ich möchte gerne über AppleScript einen bestehenden Adressbuch Kontakt um einen Eintrag erweitern. Das auswählen des Kontaktes ist kein Problem. Das klappt schon ganz gut.

    Jetzt bekomme Ich es aber nicht hin, zu einer bestehenden Visitenkarte ein Feld mit Wert hinzuzufügen.
    Das Feld soll ein Datum sein und einen bestimmten Namen ("Letzter Kontakt") haben.

    Ich dachte mir, es könnte so funktionieren, wie bei der Bearbeitung von Property lists...
    Geht aber nicht.


    Hier der Code:
    Code:
    tell person Kontaktinfo
    		make new entry at end of entries of contents of Kontaktinfo with properties {kind:date, name:"Letzter Kontakt", value:"22.12.2009"}
    	end tell
    Heb es auch schon mit nur
    Code:
    tell Kontaktinfo...
    versucht. Hat auch nicht funktioniert. Ich hab auch in dem ganzen make new entry... Kram hin und her geschoben und rumprobiert. Aber irgendwie klappt das nicht.


    Kann mir irgendwer helfen?
    Habe Ich einen groben Fehler?

    Danke und liebe Grüße
    Mini-Leo
     
  2. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    ehm... hab' da mal was geschrieben:;)

    Code:
    (**
    © hubionmac.com 2008
    
    Beschreibung:
    das Skript fügt allen ausgewählten Kontakten im Adressbuch ein Datum hinzu mit
    mit der Bezeichnung "Letzter Kontakt" und setzt dieses Datum auf das aktuelle Datum.
    Sollte ein Datum mit dieser Bezeichnung breits exisitieren, wird dieses entsprechend aktualisiert**)
    
    
    set mydate to current_date()
    set DateLabel to "Letzter Kontakt"
    tell application "Address Book"
        set these to selection
        repeat with this in these
            if (label of every custom date of this) contains DateLabel then
                repeat with the_customdate_id from 1 to (count of every custom date of this)
                    if label of custom date the_customdate_id of this = DateLabel then exit repeat
                end repeat
                set value of custom date the_customdate_id of this to mydate
                save addressbook
            else
                tell this to set new_custom_date to make new custom date at end of custom dates with properties {label:DateLabel, value:mydate}
                
                save addressbook
            end if
        end repeat
        
    end tell
    
    on current_date()
        -- gibt das Datum in dem Format aus: date "Samstag, 27. September 2008 12:00:00 Uhr"
        -- was anderes futtert das Adress-Buch anscheinend nicht
        set h to current date
        set hours of h to 12
        set minutes of h to 0
        set seconds of h to 0
        return h
    end current_date
     
  3. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Okay... Werde mal versuchen, deinen Code zu durchdringen und auf meine Bedürfnisse abzustimmen.

    Vielen Dank für deine Hilfe!
    Ich werde mich melden, sobald Ich es probiert habe.
    Danke
     
  4. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Jetzt stehe Ich vor einem Rätsel;

    Leider komme Ich nicht soweit, dass dein Code zu Einsatz kommt.
    Ich lese alle Gruppen aus dem Adressbuch aus und lasse dann alle enthaltenen Kontakte zur Auswahl in einer Liste anzeigen.
    Nur leider sind in dieser Liste Kontakte, die sich in Wirklichkeit garnicht in dieser Gruppe befinden.
    Irgendwie bringt mein Adressbuch da was fürchterlich durcheinander :(

    ??

    Wirkt auf mich wie ein Angriff irgendwelcher durchgeknallten Aliens...


    Grüße
    Mini-Leo
     
  5. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Zeige doch mal Deinen Code....
     
  6. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Habs jetzt ganz anders gemacht:

    Habe deinen Code im Automator eingefügt und als Plugin für den Finder gesichert.
    Könnte man ein so simples Plugin auch für das Adressbuch selbst speicher?

    Liebe Grüße und nochmal viiiiieeelen Dank!
    Mini-Leo
     
  7. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    o_O
    Keine Ahnung, ob so etwas geht... ich habe effektiv ein Automator Projekt mal angefangen und dann nie beendet.
    Du könntest Das Script auch in ~/Scripts/Applications/Adressbuch speichern und das Skripting Menü aktivieren, dann hättest Du es im Adressbuch immer direkt im Zugriff.
     

Diese Seite empfehlen