Här är en tråd om hur man skapar ett Applescript som skapar ett nytt meddelande i Entourage till en viss person med ett visst innehåll:
http://www.99mac.com/forum/showthread.php?s=&threadid=25805
I det står det lite nyttiga grejer.
Troligen är felet att du inte kan be om alla "properties" på en gång, det stöds sannolikt inte.
Detta fungerar alltså inte:
get properties of window 1
Men du kan få fram en "property" i taget, så detta fungerar:
get the name of window 1
("window 1" anger ordlistan är en referens till fönstret som är längst fram)
För att få fram något värdefullt så behöver vi granska ordlistan på nytt och se vilka properties vi kan läsa av. Då de flesta objekt ärver egenskaper av varandra så letar vi normalt i ordlistan efter en anteckning om "inheritance" vilket anger vilket överliggande objekt detta objekt ärver egenskaper (properties) från.
För objekttyperna "incoming message" och "outgoing message" så är "inheritance" densamma, objekttypen "message".
För "window" står det inget om att det ärver egenskaper från någon annan typ av objekt, en anteckning om inheritance saknas alltså. Men det står att man kan få fram en referens till det meddelandet (message , en annan objekttyp än window, som i sin tur har en massa properties) som visas i fönstret ifråga så detta borde se ut så här:
get the displayed message of window 1
Det returnerar:
incoming message id 60690 of application "Microsoft Entourage"
Som synes borde jag nu kunna komma åt alla properties för objekt-typen message, varav en är "account" (som returnerar en referens till ett konto). Detta:
get account of incoming message id 60690
returnerar detta:
POP account id 7 of application "Microsoft Entourage"
Denna referens kan jag sedan använda för att få fram namnet på kontot, som är en "property" för objekttypen "POP Account" enligt:
get name of POP account id 7
detta returnerar:
"Intelligent Mammals.se"
Resulterande script
Så ett script som returnerar konto-namnet för fönstret längst fram enligt diskussionen ovan skulle kunna vara:
tell application "Microsoft Entourage"
-- Plocka fram en referens till meddelandet, spara i messageref
set messageref to displayed message of window 1
-- Plocka fram en referens till kontot, spara i accountref
set accountref to account of messageref
-- Läs av namnet på kontot med accountref
get name of accountref
end tell
Men eftersom Applescript är heriarkiskt uppbyggt och olika objekt ärver egenskaper av varandra så kan jag "mata" en parameter som kräver en referens med en annan som returnerar en referens och bilda "kedjor" eller heriarkier, så detta fungerar precis lika bra:
Korta kärnfulla versionen
tell application "Microsoft Entourage"
get name of account of displayed message of window 1
end tell
Lycka till!
/Ola