FileMaker e AppleScript


Per gli amanti della programmazione a misura, ma non sono esattamente fans tecnici o linguistici ccomputer, questo sito è per voi. La maggior parte degli script che potete vedere qui sono pesati in AppleScript (come AppleScript è la mia lingua preferita), mentre altri sono mescolati e FileMaker AppleScript Scripting.

Questi script possono essere facilmente utilizzati come è o (con alcune modifiche e/o integrazioni) per soddisfare le vostre esigenze specifiche. Sono abbastanza facili da capire e da implementare.




Importa Immagine FileMaker Pro 9 Advanced

Anche se questo script è stato scritto appositamente per FileMaker Pro 9 Advanced, come scritto interamente in AppleScript, iit dovrebbe funzionare con le versioni di FileMaker 6. Si noti che, come parte dello script con il sistema di eventi, scripting GUI deve essere abilitata.


Alla fine, con questo script direttamente da FileMaker.

Pista Delimitatori settembre saveDelimiters di elementi di testo AppleScript Camino desktopLocation settembre al desktop come un alias --Selezionare Una cartella di destinazione MoveLocation settembre ((desktopLocation come una stringa) e "schermi") come alias tell application "Finder" attivare desktopLocation aprire TargetImage settembre (scegli file "Selezionare un file immagine:" posizione di default desktopLocation) Delimitatori settembre di elementi di testo AppleScript per "" FolderLocation settembre (targetImage come stringa) FolderLocation settembre (testo 1--2 FolderLocation come stringa) come un alias FolderLocation aprire Settembre oggetto testo ImageName -1 (targetImage come stringa) Selezionare la finestra del Finder voce ImageName anteriore spostare la selezione di moveLocation moveLocation aprire Selezionare la finestra del Finder voce ImageName anteriore Finestra del Finder OpenDocument anteriore file ImageName tell application "Finder" per attivare Settembre NuovoNome restituito testo (finestra di visualizzazione "Inserire un nuovo nome per il file di immagine '" & ImageName & "':" pulsanti di risposta predefinite NomeImmagine {"Annulla", "Set"} tasto predefinito 2 con il titolo "Rinominare immagine" con l'icona 2) File di documenti nome del set nomeimmagine fronte finestra del Finder newName tell application "Anteprima" per attivare tell application "eventi di sistema" raccontare processo "Anteprima" dire la barra dei menu 1 Menu dire "Modifica" nella barra dei menu "Modifica" menù, cliccare su "Seleziona tutto" fare clic sulla voce di menu "Copy" fine raccontare Menu dire "File" barra dei menu "File" clicca voce di menu "Chiudi finestra" fine raccontare fine raccontare fine raccontare fine raccontare fine raccontare tell application "FileMaker Pro Advanced" attivare provare se newName ≠ "" allora andare a (creare record) impostare la cella di dati "nomegrafico" record corrente al newName Settembre InitChar testo newName impostare i dati "puntatore Alpha" cellule di record attuali initChar il set di dati "ImageInfo" record corrente alle cellule imageInfoSheet andare alla cella record corrente "GraphicField" pasta clipboard altro errore end if Errore in errorMsg spettacolo errorMsg End Try Elemento di testo delimitatori di menù AppleScript a saveDelimiters fine raccontare Limite tell application "FileMaker Pro Advanced" attivare provare se newName ≠ "" allora andare a (creare record) impostare la cella di dati "nomegrafico" record corrente al newName Settembre InitChar testo newName impostare i dati "puntatore Alpha" cellule di record attuali initChar il set di dati "ImageInfo" record corrente alle cellule imageInfoSheet andare alla cella record corrente "GraphicField" pasta clipboard altro errore end if Errore in errorMsg spettacolo errorMsg End Try Elemento di testo delimitatori di menù AppleScript a saveDelimiters fine raccontare Limite

Per eseguire questo script da FileMaker, collegare questo script a un pulsante in FileMaker con un trattino 'Run AppleScript'. Inoltre, assicurarsi che il nome di AppleScript trasferte in nome dello script "Esegui AppleScript", "Rinomina immagine Loc 9.scpt 'di seguito:

Camino desktopLocation settembre al desktop come un alias Filelocation settembre ((desktopLocation come una stringa) e "schermi cartelle: Rinominare immagine 9.scpt Loc") come alias tell application "Finder" per aprire filelocation Ritardo 5 tell application "AppleScript Editor" per attivare tell application "eventi di sistema" processo di dire "AppleScript Editor" dire Menu "write" elemento barra "scrivere" sulla barra dei menu 1 Fare clic sulla voce di menu "Run" fine raccontare fine raccontare fine raccontare

Per coloro che sono nuovi per FileMaker

Se si dispone di altri tipi di script, questo sarà un po 'alieno. "Come per AppleScript, invece, si occuperà con particolare script di FileMaker allo stesso modo, passo dopo passo. Se siete appassionati di AppleScript, come me, sarete felici di sapere che quello che vi presento in questi articoli molte AppleScript sono inclusi.

Il mondo di FileMaker è molto diverso da quello può essere utilizzato per se si utilizza un Mac (lo so che era, e rimane, per me). Detto questo, cominciamo con questo script iniziale:


In primo luogo scegliere "Nuovo database ..." dal menu "File"

Dopo aver fatto questo e ha creato tutti i settori che sono rilevanti per le loro esigenze personali (nome, indirizzo, città, stato, ecc), creare uno script ScriptMaker con le seguenti dichiarazioni di seguito:


Nuovo Record/Richiesta

Successivamente aggiungere:

Run AppleScript () e il seguente testo nella finestra di AppleScript:

provare Settembre NewRecord al testo restituito di (finestra di visualizzazione "Inserire il nome di riferimento per il nuovo album:" La risposta di default "" con l'icona della nota {tasto """ {} default "Done Done" Annulla }) Settembre nuova direzione per il testo restituito (finestra di visualizzazione "Inserire l'indirizzo per il nuovo album:" La risposta di default "" con l'icona della nota {""} {pulsante di default "Done Done"}) Button torna da settembre Newcity (finestra di visualizzazione "Configurare la città:" risposta predefinita "" tasti "pulsante di default {" OK} {"OK"}) Settembre Button newState restituito (schermo finestra "Set di stato:" risposta default "" tasti {"OK"} pulsante predefinito {"OK"}) impostare la cella di dati "Nome" del record corrente NewRecord data set "direzione" del record corrente al nuovo indirizzo impostare la cella di dati "City" di record corrente al Newcity stabilire lo "stato" cella di dati nel record corrente di newState Errore in ErrorMsg spettacolo ErrorMsg End Try

Si consiglia di avere un pulsante chiamato "Nuovo ..." per questa convenienza. Si noti che ho messo un manager 'errore' in questo script. Questo è utile per catturare eventuali errori di battitura, ecc hai fatto durante la scrittura della sceneggiatura.

Database

Nuovo record

Uno script per creare un nuovo record

Questo scenario presuppone un database con queste cellule: nome, indirizzo, città, stato, codice postale, telefono, e-mail


Nella finestra di dialogo ScriptMaker:

Catenaccio per finestra
Svuotare la cache su disco
Esegui script [Sub-scripts "returnRecordReference"]
Nuovo Record/Richiesta

Dove returnRecordReference è un AppleScript:

In AppleScript:

provare newRecordReference nel mese di settembre (ID del record corrente) impostare la cella di dati "globalReturn" per newRecordReference --Un Global Mobile per memorizzare l'ID del record corrente prima di creare uno nuovo Errore in ErrorMsg spettacolo ErrorMsg End Try

Nella finestra di dialogo ScriptMaker:

Run AppleScript ["cercando di stabilire il testo NewRecord indietro ....] (vedi sotto):

In AppleScript:

provare Settembre NewRecord il testo restituito (finestra di visualizzazione "Immettere il nome di riferimento per il nuovo album:" La risposta di default "" con l'icona della nota {"Annulla", "Fatto"} {pulsante predefinito "Done"} ) Settembre nuova direzione per il testo restituito (finestra di visualizzazione "Inserire l'indirizzo per il nuovo album:" La risposta di default "" con l'icona della nota {""} {pulsante di default "Done Done"}) Settembre Button defaultCityState restituito (Finestra "della città e dello stato di regolazione 'Columbus'?" Buttons {"More ...", "OK"} pulsante predefinito {"OK"}) Questo difetto --change Città e Stato: se defaultCityState = "OK" e poi Newcity settembre per "Columbus" Settembre newState a "OH" altro Settembre Newcity al testo restituito di (finestra di visualizzazione "Inserisci la città per il nuovo album:" La risposta di default "" con l'icona della nota {"" {} pulsante predefinito "Done Done"}) NewState settembre al testo restituito di (finestra di visualizzazione "Inserire Stato per il nuovo album:" La risposta di default "" con l'icona della nota {"" {} pulsante predefinito "Done" Done}) Settembre newZip il testo restituito (finestra di visualizzazione "Inserisci il CAP," la nota tasti icona risposta predefinita "00000" {pulsante "Done" {} default "Done"}) end if Settembre NewPhone restituito testo (finestra di visualizzazione "Inserire il numero:" risposta default "" con l'icona della nota {""} {pulsante di default "Done Done"}) NEWEMAIL settembre al testo restituito di (finestra di visualizzazione "Inserire nuova email e/o indirizzi web:" La risposta di default "" con l'icona della nota {"pulsante" {} default "Done Done"}) Settembre RecordDatalist {NewRecord, nuovo indirizzo, Newcity, newState, newZip, NewPhone, NEWEMAIL} come lista Settembre CellList {"Nome", "Indirizzo", "Stato", "città",, "telefono"postale", "Email"} come lista ripetizione di 1-7 x if (recordDatalist voice x = ""), quindi impostare i dati della cella (elemento x del CellList) il record corrente (punto x di recordDatalist) repeat end Esso mostra ogni registrazione --Questo assicura che nessun record vengono saltati Ordine campo Struttura 0 "Nome" in ordine crescente per --sort layout di default, se più di un Errore in ErrorMsg spettacolo ErrorMsg End Try

Si consiglia di avere un pulsante chiamato "Nuovo ..." per questa convenienza. Si noti che ho messo un manager 'errore' in questo script. Questo è utile per catturare eventuali errori di battitura, ecc hai fatto durante la scrittura della sceneggiatura. Ho messo questo nella maggior parte dei miei script (almeno durante le prove) per garantire che non "anomalie".

Elenco alfabetico dialogo Records

Trovare una finestra elenco per selezionare un file specifico da aprire

Uno script per elencare tutte le voci che iniziano con lo stesso carattere alfabetico. In questo caso, i record che iniziano con 'A'. Finestra ScriptMaker deve avere il seguente script (completare Eseguire il passaggio AppleScript sotto). Copiare questo nella finestra di script "Esegui AppleScript":

Mostra tutti i record

Run AppleScript ()

provare Ordina campo Struttura 0 "Nome" ascendente TargetAlpha settembre a "A" Settembre alphaArray a {} alphaArray nel mese di settembre (ID di ogni record la cui cella "Nome" inizia con targetAlpha) Settembre convertArray a alphaArray Delimitatori settembre di elementi di testo AppleScript per tornare ArrayCount settembre a contare gli elementi in convertArray Settembre convertedArray a {} ripetere con x da 1 a arrayCount convertedID nel mese di settembre (punto x di convertArray As Integer) Settembre convertedArray a convertedArray e convertedID repeat end Settembre convertedArrayText a {} ripetere con x da 1 a arrayCount ConvertedName settembre (ottenere cellule "Nome" di record di identificazione (punto convertedArray x)) Settembre convertedArrayText a convertedArrayText e convertedName repeat end -> Questo filtrare i record errati: Settembre filterArrayText a {} ripetere con x da 1 a arrayCount se (il primo carattere della prima parola del punto x = convertedArrayText targetAlpha) poi impostare filterArrayText filterArrayText e (voice convertedArrayText x) repeat end Settembre targetRecord a "" Settembre arrayCount ha elementi di testo filterArrayText ArrayCount settembre arrayCount come testo Settembre targetRecord a (scegliere filterArrayText con "risultati per 'veloce' arrayCount targetAlpha & & &" '") spettacolo (ogni record il cui cellulare "Nome" = targetRecord) Errore in theerror se theerror contiene "oggetto" e targetRecord = false allora più se theerror contiene "Object" e targetRecord non è uguale a false vetrina "Nessun elemento trovato: '" & targetAlpha & "'!" con i tasti icona di arresto {"Done" {} pulsante predefinito "Done"} dimettersi dopo 5 altro mostrare theerror bottone predefinita {"OK"} {fermata icona "OK"} end if End Try

Il Mostra tutti i record, all'inizio della scrittura, questi possono essere sostituiti da 'Mostra tutti i record' a 'Run AppleScript 'scritto, ma per qualche ragione sconosciuta, non ho potuto ottenere questo a lavorare in questo modo. Come, tuttavia, mostra questo dovrebbe funzionare senza problemi.

AppleScript per proteggere con password FileMaker Records

Proteggi i tuoi dati da intrusioni

In primo luogo, creare un campo globale denominato 'accessPass' per memorizzare la password.

Creare uno script ScriptMaker denominata "Password ..." o qualcosa di simile ad inserire una password sul mondo 'accessPass', con la seguente Script 'Run AppleScript ":

impostare la cella di dati "accessPass" il testo restituito (finestra di visualizzazione "Inserire una password globale:" La risposta di default "" pulsanti "OK" default "OK")

Assegnare questo script a un pulsante, come ad esempio 'Delete ...' o qualsiasi altro nome:

tell application "FileMaker Pro" provare RecordName settembre (cellule ottenere "nome" del record corrente) Settembre PurgeRecord restituito testo (finestra di visualizzazione "Inserire la password per cancellare questo record," con l'icona cautela risposta predefinita "" tasti {"Elimina", "Annulla Annulla"{} pulsante di default" per uscire dopo 10}) PassText settembre (ottenere "accessPass" le cellule record corrente) come testo se purgeRecord = passText poi TheRecord settembre (ottenere ID del record corrente) come un intero Pulsante confirmpurge settembre restituito di (finestra di visualizzazione "Sei sicuro di voler eliminare record dalla" & RecordName & "'?" Con l'icona di arresto {{} pulsante predefinito "Elimina", "Annulla"Annulla" lasciare dopo} 10) se confirmpurge = "Elimina" annullare la registrazione theRecord ID end if end if in caso di errore ritorno End Try fine raccontare Messaggio di dialogo

FileMaker Mostra

Questo post fornisce le nozioni di base di FileMaker 'Visualizza messaggio 'dialogo e come gestire il feedback degli utenti in base al pulsante selezionato. Come si può vedere nel testo attuale della finestra di dialogo e quindi fare clic su un pulsante restituisce un valore corrispondente al valore numerico tasto premuto.

Ma prima, la finestra di messaggio per cambiare lo spettacolo:

E ora lo script ScriptMaker:

Vai a Record/Richiesta/Pagina [Primo]
Mostra il messaggio ["Questo è un semplice dialogo con" OK "e" Cancella ". OK restituisce un valore di 1 e Annulla, un valore di 2"]
Se ["Stato (CurrentMessageChoice) = 1"]
Vai a Record/Richiesta/Pagina [next]
Altro
Vai a Record/Richiesta/Pagina [numero ...]
End If

Il valore numerico corrispondente al tasto premuto è utilizzato da 'Stato (CurrentMessageChoice) "per determinare una linea di condotta. Se l'utente fa clic su OK (valore = 1), poi passare al record successivo, altrimenti vi verrà chiesto di inserire il numero di record che si desidera.
Questa è la casella 'Visualizza messaggio' (o tab) di dialogo:

Nota: I valori numerici dei tasti sono da destra a sinistra, che è OK e Annulla è di 1 secondo.

FileMaker Pro sceneggiatura Dialogo 6 personalizzato

Ricerca con criteri multipli

Questo script mostra come utilizzare dialogo personalizzato FileMaker di scrivere uno script con campi di testo con la ricerca Esegui script Paso. Per fare questo, prima di creare un campo di testo globale: 'gname', 'gAddress' e 'gPhone'

Mostra finestra ["cercare per nome, l'indirizzo o il telefono", "Inserire una combinazione di nome, indirizzo o numero di telefono. Fare clic su OK per continuare."Gname"], "gAddress", "gPhone"
Se ["Stato (CurrentMessageChoice = 2)"]
Exit Script
End se
Passa al modo Trova []
Se ["no IsEmpty (gname)"]
Impostare Campo ["Nome", "gname"]
End se
Se ["no IsEmpty (gAddress)"]
Impostare Campo ["indirizzo", "gAddress"]
End se
Se ["no IsEmpty (gPhone)"]
Impostare Campo ["Phone", "gPhone"]
End se
Esegui la ricerca [Sostituisci gruppo trovato]
Se ["Stato (CurrentError) = 401"]
Mostra il messaggio ["Spiacente, non sono stati trovati record!"]
Mostra tutti i record
Impostare Campo ["gname", "", ""]
Impostare Campo ["gAddress", "", ""]
Impostare Campo ["gPhone", "", ""]
End se

Nel primo condizionale, "Se [" Stato (CurrentMessageChoice = 2) "] ', ha cercato di' pulsante Annulla '(valore 2), che porrebbe fine dello script senza eseguire.


Poi troveremo un modo, immettere il testo, se del caso, nei campi appropriati per preparare la nostra ricerca. Quando un valore di ingresso viene inserito nel campo appropriato. Si noti che dal momento che siamo in modalità di scoperta, non stiamo sostituendo il testo attuale del record corrente.

Contattatemi se avete domande o commenti alla mia sezione dei commenti in fondo alla pagina.

FileMaker Pro Istruzione

Trova Order script FileMaker Pro 9

Questo è uno script che permette all'utente di eseguire una ricerca. Mostra come gestire l'errore 'non trovato' e utilizzando la parola chiave arriva a recuperare un valore del risultato e di gestire il risultato della richiesta di ricerca.

Questo script utilizza solo lo script FileMaker. Ecco come appare nella finestra ScriptMaker:


Imposta cattura errori [On]
Esegui la ricerca [Ripristina]
Se [Get (UltimoErrore)> 0]
Mostra finestra ["Nessun record trovati. Fare clic su OK per il cambiamento
la vostra richiesta o Cancel modo Usa. "]
Se [Get (SceltaUltimoMessaggio) = 1]
Modificare l'ultima ricerca
Altro
Modifiche a []
End If
End If

Imposta cattura errori [On]: Questo dice FileMaker per catturare il (vero o falso, cioè, Boolean) l'esecuzione se la sceneggiatura era valore successo. 0 è falso, 1 è vero - vedi '[Get (UltimoErrore) 0>]' :

[Get (UltimoErrore)> 0]
- FileMaker dice che se fosse emerso che c'è stato un errore "non trovato" nessun record

[Get (SceltaUltimoMessaggio) = 1]
FileMaker-indica che se l'utente sceglie il pulsante "OK" per consentire all'utente cercato un'altra scoperta.

FileMaker Suggerimento: campo globale per memorizzare la data corrente

Questo script controlla la "data corrente" per la data corrente, se trovato, lasciarlo così com'è, se non si utilizza il contenuto dello script Sostituisci passo successivo per analizzare tutti gli elementi di dati in una singola stringa e mette il campo globale risultato nel contenitore 'Data corrente':

Catenaccio per finestra
Se ["GetField (data corrente) Stato (DataCorrente)"]
Sostituire contenuto [Senza dialogo, "data corrente" " il nome del giorno (oggi) e "" e MonthName (oggi) e " " & Day (oggi) e ", " e l'anno (oggi) "]
End If


Questo produrrà qualcosa sotto forma di: Domenica 22 Luglio 2012

Trova Order script FileMaker Pro 6

Questo script mostra l'uso di base dei dialoghi di FileMaker e trattamento degli errori con clausole condizionali. Questo script è specifico per FileMaker 6. Uno script che serve allo stesso scopo per FileMaker Pro 9 apparirà nel prossimo post.

Gli utenti inseriscono cercare campi di testo che si desidera e avviare la ricerca premendo il tasto Invio.

Ordina [Restore, Senza finestra]
Mostra il messaggio ["Immettere i criteri di ricerca campi disponibili, quindi fare clic sul 'Invio' stata fondamentale per "]
Imposta cattura errori [On]
Passa al modo Trova [Ripristina Pausa]
Esegui la ricerca [Sostituisci gruppo trovato]
Se (" Stato (CurrentError)> 0 ")
Mostra finestra [" di errore: "No record trovati. '", ma nessun record erano trovati. Fare clic su OK per modificare la chiedere o fare clic su Annulla per tornare Display Mode.]
Se (" Stato (CurrentMessageChoice) = 1 ")
Modificare l'ultima ricerca
Altro
Modifiche a []
Mostra tutti i record
Ordina [Restore, Senza finestra]
End If
Mostra tutti i record
Ordina [Restore, Senza finestra]
End If

Una ricerca per gli script più specifiche di un popup che mostra i nomi di ciascun record in un database con il tasto 'Go', che avvia una ricerca del record selezionato.

Prima di utilizzare questo script, è necessario creare alcuni campi e un pulsante come segue:

1) Tre campi di testo globale: "GlobalName", "globalAddress" e "globalReturn"

2) Un campo di testo chiamato globale "namesearch" (Set 'Pulsante Specification' a 'non fare nulla', assicuratevi di selezionare lo stile pop-up e selezionare la casella 'Enable campo di immissione')

3) Un campo di testo chiamato un campo di testo "Nome" e chiamò "Address"

4) Un pulsante "Go" per assegnare lo script di esecuzione dello script di seguito (si può chiamare come volete). Ricordate il seguente testo in corsivo è da collocare all'interno di un'istruzione di script Esegui AppleScript (senza le virgolette esterne, che sono posti là da FileMaker).

Mostra tutti i record

Ordina [Restore, Senza finestra]

Esegui AppleScript [] -vedere GIÙ

provare recordReference nel mese di settembre (ID del record corrente) impostare la cella di dati "globalReturn" per recordReference Settembre TargetSearch "Nome" TargetText settembre (ottenere cellule "namesearch" il record corrente) --Questo È la chiave, ottiene i valori di tutta la banca dati Nome campo impostare la cella di dati "gname" per targetText impostare la cella di dati "gAddress" per targetSearch End Try

Passa al modo Trova []

Se [globalAddress "=" Nome ""]

Impostare Campo ["Nome", "GlobalName"]

End If

Se [globalAddress "=" Address ""]

Impostare Campo ["indirizzo", "GlobalName"]

End If

Imposta cattura errori [On]

Esegui la ricerca [Sostituisci gruppo trovato]

Se ["Stato (CurrentError) = 401"] --Non trovati

Esegui AppleScript [] -VEDI SOTTO


Finestra "Spiacente, non sono stati trovati record!" con l'icona di arresto pulsante tasti predefinita 1 "Annulla" dopo aver consegnato 10

Mostra tutti i record

Ordina [Restore, Senza finestra]

Impostare Campo ["GlobalName", "", ""]

Impostare Campo ["globalAddress", "", ""]

End If

Per utilizzarlo, prima selezionare un nome nel disco pop-up (o digitare i primi caratteri di saltare zona e scorrere fino alla voce desiderata). Quindi selezionare i record facendo clic su di esso. Quindi fare clic su 'Vai' per andare alla registrazione.

Riempire voce della rubrica da FileMaker Database

Questo è uno script che ottiene il contenuto dei campi di testo in un database FileMaker per creare una voce della rubrica. Illustra anche la sintassi di AppleScript per gli oggetti nella rubrica e trasferimento dati FileMaker Pro.

La prima parte contiene i campi di tutti i dati variabili di testo database FileMaker. In secondo luogo, creare la voce con un nome e impostare la variabile theEntry un riferimento per la nuova voce e impostare altri valori per la nuova voce.

tell application "FileMaker Pro" attivare FullName settembre (ottenere i dati dalla cella "Nome" del record corrente) NameCount settembre al (numero di parole fullName) EntryAddress settembre (ottenere i dati cella "indirizzo" del record corrente) EntryCity settembre (ottenere i dati dalla cella "City" del record corrente) EntryState settembre (ottenere i dati dal cellulare "stato" nel record corrente) EntryZip settembre (ottenere i dati dal cellulare "PAC" nel record corrente) Intercom settembre (ottenere dati da cellulare "telefono" nel record corrente) Settembre entryEmail per (ottenere i dati dal campo "email" cellule del record corrente) EntryURL settembre (ottenere dati da cellulare "Internet" nel record corrente) ritardo di 2 fine raccontare tell application "Rubrica" attivare FirstName settembre (ottenere una parola fullName) Se nameCount non è uguale a 1 allora Cognome settembre (ottenere la parola fullName 2) altro Cognome settembre "" end if Settembre theEntry fare nuova persona con proprietà {nome: Nome, cognome: lastName} dire theEntry rendere la nuova direzione in modo da affrontare con proprietà {label: "Home", di strada: entryAddress, città: entryCity, statali: entryState, zip: entryZip} il nuovo telefono cellulare con caratteristiche {label: "Start", valore: Intercom} fare una nuova e-mail dopo mail con proprietà {label: "Home", valore: entryEmail} rendere il nuovo URL alla fine dell'URL con proprietà {label: "Work", valore: entryURL} fine raccontare salvare fine raccontare

Sezione inizio piuttosto prolisso dello script che raccoglie i dati potrebbero essere espressi più semplicemente come segue:

dire il record corrente FullName settembre (ottenere cellule "Nome") NameCount settembre al (numero di parole fullName) EntryAddress settembre (ottenere cellule "Address") EntryCity settembre (ottenere cellule "City") EntryState settembre (ottenere cellule "Stato") EntryZip settembre (ottenere cellule "Cap") Intercom settembre (ottenere cellule "telefono") EntryEmail settembre (ottenere cellule "Email") EntryURL settembre (cellule ottenere "Internet") fine raccontare

O ancora più ambizioso, anche se forse un po 'di confusione:

dire il record corrente set {fullName, entryAddress, entryCity, entryState, entryZip, citofono, entryEmail, entryURL} a {(ottenere cellule "Name"), (ottenere cellule "Address"), (ottenere cellule "City"), (ottenere cellule di Stato "), (ottenere cellule" PAC "), (ottenere cellule" telefono "), (ottenere cellule" Email "), (ottenere cellule" Internet ")} NameCount settembre al (numero di parole fullName) fine raccontare

Per una visita di script correlati: Nuovo indirizzo in rubrica

Immagine Copia e Salva in FileMaker Anteprima

L'utilizzo di script GUI per la A-AppleScriptable

Può capitare di avere una grande idea per una sceneggiatura, ma rileva un problema con una delle applicazioni da utilizzare per realizzare la sceneggiatura; non ha, ovvero un dizionario di AppleScript: è unscriptable.

Cosa stai facendo?

Quando ho incontrato questo problema, la prima cosa che cerco è di vedere se è possibile utilizzare la GUI per fare il lavoro. Questo è esattamente quello che ho fatto con in anteprima.

Questo script prende una copiato un'immagine un database FileMaker, incollarlo in un documento per visualizzare in anteprima e quindi salvare sul disco rigido con un nome di default:

Catenaccio per finestra
Copia [Select, "GraphicField"]
Esegui AppleScript [vedi sotto]
Refresh Window []

CurrentImage settembre (ottenere cellule "nomegrafico" il record corrente) tell application "eventi di sistema" provare se gli elementi dell'interfaccia utente quindi consentono --Sia sicuro GUI Scripting abilitato tell application "Anteprima" per attivare raccontare processo "Anteprima" dire la barra dei menu 1 Bid Menu 3 --file clicca voce di menu "Nuovo da Appunti" fine raccontare dire 5 Menu --view clicca voce di menu "Zoom In" fine raccontare dire 9 Menu --window Fare clic sulla voce di menu "Zoom" fine raccontare tell application "Anteprima" per attivare Bid Menu 3 --file clicca voce di menu "Salva con nome ..." Newimage settembre a currentImage & "_Large" tipizzazione newimage --Questo Riscrittura è facoltativo, utilizzare questa opzione solo se si desidera salvare l'immagine automaticamente con il nome predefinito fine raccontare tell application "FileMaker Pro" per attivare fine raccontare fine raccontare altro tell application "Preferenze di Sistema" attivare Visualizzazione Alert "numero di errore -1719 Accesso Universale" messaggio "elemento UI scripting non è attivo. Controllare " Abilita l'accesso a dispositivi di assistenza \ "per continuare." come critico rivelare pannello "com.apple.preference.universalaccess" errore fine raccontare end if in caso di errore Elementi dell'interfaccia utente settembre abilitati nel --proceeds vero o richiedono una password per impostare End Try fine raccontare

Questo script è spiega praticamente. Per cercare di creare un database FileMaker con un cellulare può contenere un'immagine e dare lo script precedente.

Pro

FileMaker: database di registrazione dati Encrypt

Uno script per crittografare i dati utilizzando la parola chiave inversa

Per utilizzare questo script è necessario creare un database con il campo globale denominato "password", "ID utente" e "password email". Questo script funziona come una sorta di ginocchio, perché se si esegue una seconda volta, ripristinerà i dati al suo stato originale. Dovrebbe essere facile vedere come potrebbe essere migliorato per fare un crittografato a fondo. Alcune note seguono il seguente script:

tell application "FileMaker Pro" provare EncryptCells settembre {"password", "ID utente", "E-mail Password"} Settembre RecordCount (numero di registrazione) come un intero Vai al primo record A volte ripetuto RecordCount x ripetere con da 1 a 3 Settembre encryptCell per (ottenere i dati dalle encryptCells cellulare (x elemento) il record corrente) if (encryptCell = ""), allora tell application "Finder" spettacolo encryptCell Settembre criptati (a differenza di tutti i personaggi in encryptCell) come stringa fine raccontare tell application "FileMaker Pro" per regolare i dati della cella (elemento x del encryptCells) crittografia record corrente end if repeat end andare record dopo record corrente repeat end finestra schermata "Data Encryption Full" con il tasto 1 tasto "OK" di default 1 il numero di errore errorMsg ErrorNumber if (ErrorNumber = -128), quindi visualizzare alert "numero di errori" e ErrorNumber messaggio errorMsg ritorno End Try fine raccontare

La parte importante di questo script contiene due ripetizioni:

A volte ripetuto RecordCount x ripetere con da 1 a 3

Il primo viene ripetuto per contare il numero di record e la seconda per il numero di cellule in ciascun record dei dati da cifrare.

Anche di nota:

il numero di errore errorMsg ErrorNumber if (ErrorNumber = -128), quindi visualizzare alert "numero di errori" e ErrorNumber messaggio errorMsg ritorno End Try

Questo intercetta il numero di errore -128 (utente annullato) e per tutti gli altri errori, fornisce il numero di errore e una spiegazione del tipo di errore che si è verificato, che può essere molto utile quando si desidera catturare gli errori più specifici quando uno script.

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha