2015

Dec

30

Av

Det är många FileMaker-användare som har Mac. För er finns script-språket AppleScript för att utföra kommandon utanför FileMaker, t.ex. skicka meddelanden via iMessage och/eller SMS. För Windows-användare (som jag egentligen är mest) finns förstås Windows Script, men för denna gång lämnar jag er. Läs dock vidare, det finns ett trick som är användbart även för er!

Om du har Mac har du säkert använt programmet Meddelanden, ett jättebra program som jag använder för att chatta med er här på webben (se chatt-fönstret i nedre högra hörnet), men också för att skicka iMessage och SMS. Jag skriver i alla fall snabbare med dator-tangentbord än med iPhone-dito!

Programmet Meddelanden kan automatiseras med AppleScript, t.ex. för att skicka meddelanden. Ett script som skickar meddelande till telefonnumret 07012345678 kan se ut så här:

tell application "Messages"
  send "Här skrivs meddelandetexten" to buddy "07012345678" of (service 1 whose service type is iMessage)
end tell

Har du kopplat ihop din telefon med din Mac (så att det t.ex. ringer på båda vilket är lite störande ibland) så kan du också skicka SMS till de som inte har iMessage. Då byter du ut sista ordet på andra raden, “iMessage”, till “SMS”. I övrigt är det samma. iMessage kan du förstås också skicka till de som endast har epostadress för att skicka/ta emot iMessage, då skriver du epostadressen istället för telefonnumret.

I FileMaker finns ett manussteg för att utföra ett AppleScript. Du skriver helt enkelt scriptet i manussteget. (Fast först testar du att det fungerar med programmet Skriptredigerare som finns i OS X, sedan kopierar du det och klistrar in det i FileMakers manussteg.)

UtforAppleScript

Men du vill ju inte göra ett nytt manus för varje meddelande. Därför gör du istället 2 fält, ett fält där du skriver meddelandetexten (Meddelande) och ett fält där du anger vem det ska skickas till (Till). Du kan sedan göra en beräkning med alternativet Beräknat AppleScript i dialogrutan på bilden ovan.

Alla som någon gång gjort en beräkning med text på flera rader, citat-tecken m.m. vet dock att det inte är så enkelt. Låt FileMaker hjälpa dig! (Det här är tricket som även fungerar på Windows, används med fördel t.ex. för html-kod till web-visaren.)

Du går istället till layoutläget, väljer textverktyget, klickar någonstans på layouten där det finns plats och klistrar in AppleScriptet där. Ersätt meddelandetexten och telefonnumret med s.k. merge-fält, använd kommandot Mergefält i menyn Sätt in. Sätt in fältet Meddelande där texten ska finnas och fältet Till där telefonnumret ska finnas. Textobjektet ser ut ungefär så här:

LayoutAppleScript

Namnge sedan textobjektet. Det gör du med fönstret Granskaren och fliken Position, tänk på att ha textobjektet markerat. Jag har gett objektet namnet “applescript”.

ObjektnamnAppleScript

 

När du går till bearbetningsläget fylls meddelandet och texten i från aktuell post. Du behöver alltså inte hålla på med knepiga beräkningar för att få text och telefonnummer på rätt ställe. Så här kan det se ut på din layout:

BearbetaAppleScript

 

Gå tillbaka till layoutläget och flytta textobjektet till höger på skärmen, utanför den del som syns i bearbetningsläget. Du behöver alltså inte visa textobjektet med AppleScript-koden för användaren. Det räcker att det finns på layouten någonstans, det kommer att fungera ändå.

Till sist gör du ett manus, eller en knapp, som har samma manussteg som tidigare men nu med beräkning. Beräkningen använder funktionen GetLayoutObjectAttribute och hämtar innehållet i textobjektet med namnet “applescript” (och fungerar alltså då endast då du har layouten med script-textobjektet aktiv) . Finessen är att innehållet förändras beroende på innehållet i de båda fälten.

När du kör manuset skickas meddelandet till mottagaren och du kan ha olika meddelanden till olika mottagare i respektive post.

Manuset ser ut så här:

ManusAppleScript

Mottagaren kan ta emot ett iMessage på en Mac, iPhone eller iPad, skickar du som SMS kan vilken telefon som helst användas för att ta emot meddelandet.

Skriv en kommentar

  • (will not be published)
  • nine − 5 =

Läs också: