FileMaker och AppleScript

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1

Hej, i semestertider...

Jag passar på att bättra på mitt arbetsflöde. Men - problem uppstår!

Jag kan inte förmå AppleScript till att klistra in ett värde i ett fält i FileMaker...
Koden; som nedan - vad är fel?

Tacksam för hjälp

Hälsningar
Erland Segerstedt
Kusmark

-----------------------------------
tell application "FileMaker Developer"
tell document "Bildarkivet.fp7"
create new record
do script "Gå till sista post"
tell layout "bildprotokoll"
tell current record

set cell "t_BildDatum" of current record of database "Bildarkivet.fp7" to "090909" --:'(

end tell
end tell
end tell
end tell
-----------------------------------

Nedanstående manus kopierar aktuell URL i Safari och klistrar in den i ett fält i aktuell post i FileMaker Pro. Där ser du ett exempel på fras för att göra det du vill.

tell application "Safari"
	set URL_to_Paste to URL of document 1 as text
end tell

tell application "FileMaker Pro"
	activate
	tell database "Databasnamn"
		if cell "Kontakt_URL" of current record is "" then
			set cell "Kontakt_URL" of current record to URL_to_Paste
		end if
	end tell
end tell

Om du vill ha hjälp med ditt script - berätta vad du får för felmeddelanden och på vilket sätt det inte fungerar. Annars är det inte lätt att se vad som är fel.

HEj
Till Taz_1999

Jag kan inte få AppleScript till att klistra in ett värde i ett fält i FileMaker, enl. din kod som nedan.

------------ kod ----------------
tell database "Databasnamn"
if cell "Kontakt_URL" of current record is "" then
set cell "Kontakt_URL" of current record to URL_to_Paste
end if
end tell
------------ slut kod ----------------
Som svar dyker denna dialogruta upp:
"FileMaker Developer drabbades av ett fel: Objektet saknas."

Jag kör iBook, MacOS 10.3 och FileMaker Developer 7.0

Hälsningar
Erland Segerstedt, Kusmark

Ett felmeddelande, det är användbart! Felmeddelandet är mycket vanligt och betyder i det här fallet att det fältet eller den layouten eller den databasen inte hittas.

cell "Kontakt_URL" är ett namn på ett fält i den layout som FileMaker befinner sig i. Du måste alltså både ha ett fält som heter "Kontakt_URL" och en layout som innehåller det fältet för att det skall fungera. Detsamma gäller även tell database "Databasnamn" , du måste ha en databas, öppen i FileMaker som har namnet "Databasnamn", som är i bearbeta-läge.

Kolla det först och hör av dig igen.

En sak till: Du citerar bara en del av min kod, inte all kod, vad har du gjort med den bit som handlar om att Safari kopierar aktuell URL? Den behövs också för att det skall fungera, annars är variabeln "URL_To_Paste" en tom sträng.

Hej

Allt fungerar i ditt skript; Safaris URL kopieras, databasen är rätt, fältet finns i layouten som FileMaker står i...
Det är bara raden "if cell..." som inte fungerar.

Efter att jag OKat dialogrutan; "FileMaker Developer drabbades av ett fel: Objektet saknas." - gul-markerar Manusredigeraren "snuttarna" i raden med koden som lyder:

"if cell "Kontakt_URL" of current record is "" then"

Hälsningar
Erland Segerstedt, Kusmark

Den markerar det för att visa vilken rad det var den stannade på.

Manuset fungerar på min sida, alltså är något fel på din sida, som tex namn på databaser eller fält eller fälttyper.

Det kan även vara andra fel som tex att databasen inte är i bearbetaläge eller att du inte lämnat posten som Applescript försöker arbeta med.

Hej

Nu är problemet löst - efter idogt letande efter koder fann jag dessa rader som hos mig fungerar:
Trixet var att ange koden till the clipboard som "as text".
Tack för all vägledning.

Hälsningar
Erland Segerstedt, Kusmark

------------ kod ----------------
tell application "Finder"
set BildNamn to get the name of item 1 of p1_mapp
set the clipboard to BildNamn as text
end tell

tell application "FileMaker Developer"
activate
go to document "Bildarkiv"
tell document "Bildarkiv"
tell window 1 to go to layout "bildprotokoll 2"
tell layout "bildprotokoll 2"
do script "10.1 Kryssa_pEtt"
end tell
end tell
end tell
------------ slut kod ----------------

Bra att det löste sig.

Det är även mycket vanligt att man har fel typ på de data man får från olika håll och man kan ofta konvertera dem genom att skriva tex as text, eller as number eller as file eller något liknande. Ibland går det utmärkt.

För att se vad du har för data, klicka på fliken "Eventlogg" när du kör ditt manus.

En lista omges med {} och mellan varje sak i listan finns ett komma.

En sträng omges med "", en siffra med inget alls och en sökväg gissar jag att vet hur den ser ut.

En annan felsökningsmetod för att hitta fel i datatyper kan vara att skriva ut variabeln (den syns då i Eventloggen) eller när scriptet kört klar om du har detta som sista steg.

get varibelnamn

Lycka till med scriptandet.

1
Bevaka tråden