Bestimmte Adresse aus Adressbuch aufrufen

Diskutiere das Thema Bestimmte Adresse aus Adressbuch aufrufen im Forum Scripting und Automatisierung

  1. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Ich versuche bisher mit mäßigem Erfolg mein Adressbuch mit Hilfe von Apple Scripts zu steuern.

    Zum einen möchte ich aus FileMaker eine ganz bestimmte Adresskarte aufrufen. Filemaker soll dazu einen Suchbegriff übertragen und im Adressbuch soll daraufhin die entsprechende Adresskarte angezeigt werden.

    Anschließend möchte ich bestimmte Daten wie z.B. Telefonnummer oder e-mailadresse von FileMaker zu der ausgewählten Adresskarte übertragen. Sozusagen eine Synchronisation der Daten aber eben nur für eine einzige Adresse.

    Wer kann mir zum notwendigen Script hier Hilfe geben. Die FileMakerseite habe ich dabei im Griff ich bin bisher nur an der Umsetzung auf der Adressbuchseite gescheitert.

    ich hoffe es findet sich jemand der mir hier helfen und einen Vorschlag machen kann.

    Gruß
    Jürgen
     
  2. little_pixel

    little_pixel Mitglied

    Beiträge:
    4.299
    Zustimmungen:
    1.160
    Mitglied seit:
    06.06.2006
    Hallo,

    wie sieht Dein bisheriges Skript aus?

    Verwendest Du FM-Skript und führst in ihm dann das AS aus?
    Verwendest Du FM-Skript und rufst dann ein AS auf?
    Verwendest Du AS zum auslesen der Daten in FM und diese sollen dann an das Adressbuch weitergegeben werden?

    Wenn Du uns das bestehende mitteilst, dann ist einfacher Dir einen Ansatz zu bieten.

    Viele Grüße
     
  3. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Vielen Dank für Deine Antwort. Ich möchte das FM Skript verwenden um die Daten aus FM auszulesen und in das Adressbuch zu schreiben. Skripts aus FM sind mehr einigermaßen geläufig. Ich bin im Moment nur an der Syytax für das Adressbuch gescheitert. Wenn ich da einen entsprechenden Ansatz habe dann komme ich schnell weiter.

    Es würde mich sehr freuen von dir dazu eine Hilfestellung zu bekommen.

    Gruß
    Jürgen
     
  4. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Sorry, ich hab Deine Frage wohl nicht klar beantwortet. Ich möchte das ganze Procedere im FM Script abarbeiten, entsprechend Deiner ersten Alternative.

    Gruß
    Jürgen
     
  5. little_pixel

    little_pixel Mitglied

    Beiträge:
    4.299
    Zustimmungen:
    1.160
    Mitglied seit:
    06.06.2006
    Hallo,

    gut, hier ein Beispiel:

    Code:
    --Daten aus dem aktuellen DS lesen
    tell application "FileMaker Pro"
    	tell current record
    		set derName to cell "Name"
    		set dieTeleNr to cell "Telefon"
    	end tell
    end tell
    
    -- Adressbuch abglecihen
    tell application "Address Book"
    	
    	-- Person via Namen suchen
    	set gefundenePersonen to every person whose name contains derName
    	
    	-- zu Hause TeleNr. holen und aktualisieren
    	set homeNr to every phone of (item 1 of gefundenePersonen) whose label is "home"
    	set (value of (item 1 of homeNr)) to dieTeleNr as string
    	
    	-- speichern
    	save addressbook
    end tell
    Da Du das Skript einbindest solltest Du den ersten Tell-Block durch "tell me" ersetzen. Da funtkioniert dann aber nur im FM.

    Viele Grüße
     
  6. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Herzlichen Dank für Dein Beispielscript. Ich bekomme allerdings beim testen einen Fehler in der letzten "set-Zeile". Die Fehlermeldung lautet

    "AppleScript-Fehler „item 1 of {}“ kann nicht gelesen werden."

    Was ist falsch ?

    Gruß
    Jürgen
     
  7. little_pixel

    little_pixel Mitglied

    Beiträge:
    4.299
    Zustimmungen:
    1.160
    Mitglied seit:
    06.06.2006
    Hallo,

    {} ist eine Liste, die keinen Wert enthält. Du (wir) versuchst aber das erste Element anzusprechen. Dieses ist aber nicht vorhanden. Daraus lässt sich schließen, dass Dein Kontakt keine "home" Telefonnummer enthält.

    Du kannst vorher überprüfen, ob dieses existiert und gegebenenfalls anlegen.

    Viele Grüße
     
  8. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Bin jetzt schon mal einen Schritt weitergegangen und habe den Aufruf gemacht, dass ich die in FM angezeigte Adresse im Adressbuch aufrufen kann.

    Hier das Script:

    --Daten aus dem aktuellen DS lesen
    tell application "FileMaker Pro"
    tell current record
    set derName to cell "Nachname"
    end tell
    end tell

    -- Name im Adressbuch suchen
    tell application "Address Book"
    activate
    set selection to every person whose name contains derName
    end tell

    man müsste jetzt natürlich noch eine Funktion einbauen was angezeigt werden soll, wenn im Adressbuch kein entsprechender Datensatz gefunden wurde. Auch, dass sowohl mit Vorname und Nachname gesucht wird (Huber und Maier kommen ja meistens mehrfach in einer größeren Adressliste vor) wäre natürlich für das gezielte Suchen von Vorteil.

    Nach dem die richtige (gleiche wie in FM) Adressbuchkarte angezeigt wird, möchte ich dann aus FM heraus einzelne Daten wie Telefonnummer, e-mail-Adresse etc. entweder von FM zum Adressbuch oder vom Adressbuch nach FM übertragen können. Quasi als "manuelle" Synchronisation beider Dateien. Eine automatische Synchronisation erscheint mir nicht möglich, da ich kein Kriterium habe welche Adressdaten auf FM oder im Adressbuch die aktuelle ist. In der FM-Datei können von jedem User die Daten geändert werden. Es ist quasi die "Mutter-Datei", ich möchte allerdings auf meinem MacBook und vor allem mit meinem iPhone natürlich unterwegs auch Daten ändern und dann halt bedarfsweise manuell mit der FM-Datei abgleichen. Soweit vielleicht zum Hintergrund meiner Überlegungen.

    Oder hat jemand noch eine andere Idee um ein Adressmanagement zwischen einer FileMaker Datenbank auf einem Server für alle User im Firmennetzwerk und einzelnen Mac Anwendungen (Adressbook auf MacBooks und iPhones) zu realisieren ? Wobei die FM Datei nicht nur Adressdatei ist, sondern eigentlich zentrales Steuerungsinstrument für viele Office-Anwendungen von der Korrespondenz, über die Dokumentenarchivierung bis zur Faktura, Materialverwaltung und und und. Die FM-Anwendung ist also schon relativ komplex.

    Ich bin aber schon zufrieden wenn ich meine "kleine" Lösung mit einem manuellen Abgleich zwischen der zentralen FM-Datei und meinem Adressbuch realisieren kann.

    Gruß
    Jürgen
     
  9. little_pixel

    little_pixel Mitglied

    Beiträge:
    4.299
    Zustimmungen:
    1.160
    Mitglied seit:
    06.06.2006
    Hallo,

    ich würde "salopp" sagen, dass das gut umzusetzen ist. Aber (nicht böse gemeint) ohne Vorkenntnisse und Know-How wirst Du einiges an Zeit benötigen. Bei uns in der Firma habe ich ebenfalls etwas ähnliches umgesetzt. Leider kann ich Dir aber keine Quelltexte zur Verfügung stellen.

    Wenn ich das richtig lese, dann hat es schon eine essentielle Bedeutung für Dich?
    Vielleicht gibt es bereits bestehende Applikationen, die so einen Funktionsumfang bieten. Anderenfalls kannst Du Dir vielleicht auch etwas eigenes schreiben lassen.

    Viele Grüße
     
  10. jhsenator

    jhsenator Thread Starter Mitglied

    Beiträge:
    627
    Zustimmungen:
    65
    Mitglied seit:
    18.02.2008
    Du hast natürlich recht, es gab im Adressbuch für die getestete Karte keinen Eintrag für die private Telefonnummer.

    Sofweit funktioniert das Script.

    Bin schon am bearbeiten der nächsten Schritte, vor allem auch der Weg (übertragen) aus dem Adressbook in die FM-Datei.
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

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