Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Frage an die AppleScript und/oder Automator Profis

Frage an die AppleScript und/oder Automator Profis

Marcel_75@work
Marcel_75@work06.07.0816:06
Hallo,

möchte gern eine Gruppe von Adressbuch-Kontakten die Notiz "Newsletter" hinzufügen.

Habe das erst mit dem Automator versucht.

Dazu habe ich einen leeren Kontakt mit der Mail "@" angelegt und dann gesagt, dass er bei diesem Kontakt in die Notiz das Wort "Newsletter" eintragen soll (in der Hoffnung, dass er das dadurch bei jedem Kontakt macht).

Leider bleibt er beim ersten Kontakt stehen und ich weiß nicht, wie ich dem Automator klar machen soll, dass er das bitte bei allen 2463 Kontakten machen soll (die Kontakte bestehen übrigens tatsächlich nur aus jeweils einer E-Mail-Adresse).

Dann bin ich auf dieses Script gestoßen: http://forums.macosxhints.com/archive/index.php/t-40468.html

(ganz unten)

Es sah zwar erst so aus, als könne er Notizen nicht löschen (habe dazu bei einem Kontakt eine Notiz hinzugefügt), aber wenn man lange genug wartet und dann das Adressbuch neu startet, ist die Notiz tatsächlich weg.

Dies scheint also schon mal der richtige Weg zu sein - nur weiß ich nicht, wie ich dieses Script nun umschreiben soll, damit er nicht Notizen löscht, sondern eben das besagte "Newsletter" als Notiz einfügt.

Hier steht übrigens jemand vor einem ähnlichen Problem, allerdings ebenfalls ohne Lösungsvorschlag:

http://discussions.apple.com/thread.jspa?messageID=7226193

Danke für Tipps & Tricks,
mit den besten Grüßen in die Runde,
Marcel
0

Kommentare

_mäuschen
_mäuschen06.07.0818:22

tell application "Address Book"
 repeat with thisPerson in every person
  set atext to get note of thisPerson
  if atext is not missing value then
   set atext to atext & return & "Newsletter"
   set note of thisPerson to atext
  else
   set note of thisPerson to "Newsletter"
  end if
 end repeat
end tell

0
Marcel_75@work
Marcel_75@work06.07.0818:35
Super, das werde ich gleich mal testen!

2 Fragen hätte ich dennoch interessehalber:

1) Wenn man den Code in den Skripteditor kopiert und dieses dann abspeichert (hier: add_notes_to_addressbook.scpt) und das Script dann mit einem Klick auf "Run" startet, sieht man leider gar nicht, wie weit er mit der Abarbeitung des Befehls ist (man erkennt nur, dass es beschäftigt ist, weil man das Programm kurzzeitig nicht mehr in den Vordergrund holen kann und die Prozessorlast steigt). Ob es sinnvoll wäre, Apple vorzuschlagen, dass man da so eine Art "Statusbalken" zu sehen bekommt in einer zukünftigen Version des Editors?

2) Hätte mein Ansatz mit dem Automator eventuell klappen können? Wie integriert man da denn ein "repeat", so dass er alle Adressbucheinträge abarbeitet?

Ergebnis übrigens nach knapp einer Minute: es hat geklappt, genial!!! Tausend Dank, _mäuschen!
0
_mäuschen
_mäuschen06.07.0818:47

Auf Event-Protokoll klicken


0
_mäuschen
_mäuschen07.07.0811:23

Ja, und mit Automator schlag ich mich schon länger nicht mehr rum.


0
Marcel_75@work
Marcel_75@work07.07.0811:56
Ok, vielen Dank für Deine Hilfe. Und lang lebe AppleScript!
0
Marcel_75@work
Marcel_75@work07.07.0811:58
PS: Wäre es denn möglich, diese Notizen auch nur einer bestimmten Gruppe von Kontakten in einem großen Adressbuch hinzuzufügen?

Denn die Notizen werden beim Ex- und Import als vCard leider nicht mit übertragen...


0
_mäuschen
_mäuschen07.07.0812:12


repeat with thisPerson in every person of group "Gruppenname"


0
Marcel_75@work
Marcel_75@work07.07.0812:30
Cool, werde ich probieren - eine letzte Frage noch: woher hast Du all dieses Wissen, gibt es empfehlenswerte Fachliteratur zum Thema AppleScript? Ich meine, ich wüsste nicht einmal, mit welchen Variablen ich mit dem Adressbuch kommunizieren kann, das muss doch irgendwo einsehbar sein, oder?
0
_mäuschen
_mäuschen07.07.0812:47

Apple.com
bbs.macscripter

etc

und die Bibliothek
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.