Newsgroup: it.comp.macintosh
Titolo: [AS] Help! AppleScript & AcrobatReader

Non riesco ad aprire un documento PDF con Acrobat Reader tramite AS.
Se provo:
tell application "Acrobat Reader 3.0"
        open "path:file"
end tell
mi viene riportato un errore:
Acrobat Reader 3.0 got an error: An error of type 2 has occurred.
Che succede? Chiedo lumi agli esperti!
Grazie fin da ora a chi risponderą.
Maurizio

 ------ 8< ------ ------ 8< ------ ------ 8< ------
Purtroppo non è un problema di sintassi: se lo faccio con altre
applicazioni, diverse da Acrobat Reader, la cosa funziona perfettamente.
Ho anche provato a cambiare il tipo del documento ("TEXT" e "PDF ")
pensando che forse Acrobat Reader fosse un po' schizzinoso, ma senza
nessun effetto.
Non capisco proprio perché AR non apra il documento. :-(
Maurizio

Maurizio Frigeni <Maurizio...@dont.emailme.please> wrote:

Come Robbie the Robotm anche AS non ha senso comune, e prende tutto alla
lettera. In questo caso, devi dire:
open file "path:file"
perche' se applescript vede qualcosa fra virgolette crede che sia una
stringa e non il path di un file.
Pero' in effetti hai ragione che hypertalk era meno schizzinosa e capiva
benissimo un comando open "path:file"!
-- 
Ciao,        \+----------+
   Vittorio --| : )    o |
             /+----------+

 ad esempio.
Sicuramente questo funziona sempre, pero' e' possibile anche scriptare
Acrobat Reader 3.0 (capisce solo i 4 comandi base: start, open, print e
quit).


 funziona? Si`, allora aprilo con il Finder.
E' vero e mi scuso con Roberto: era tardi e io non avevo capito. In
effetti così funziona, però purtroppo temo che non sia ciò che serve ai
miei scopi. Quindi mi spiego più in dettaglio.
Vorrei creare con FileMaker un archivio di documenti PDF (abstracts di
articoli scientifici); in ogni record metto gli autori, il titolo, la
rivista, ecc., ma vorrei poter aprire automaticamente il relativo file
PDF.
Ho pensato allora, nella mia ingenuità, di mettere in un campo il nome
del file PDF e di usare lo script "send Apple Event" di FileMaker per
ordinare ad AcrobatReader di aprire il file. Sventuratamente la cosa non
funziona - notare però che se invece di FileMaker specifico un'altra
applicazione (ho provato con BBEdit e con Word) tutto fila liscio.
Dopo il suggerimento di cui sopra, ho provato a scegliere il Finder come
applicazione a cui mandare l'Apple Event, ma non succede assolutamente
nulla. Potrei forse chiamare da FileMaker un AppleScript opportuno, il
problema però sarebbe di passargli come parametro il nome del file,
contenuto in un campo del record corrente - si potrà fare?
Se qualcuno ha qualche idea in merito, sarà la benvenuta. Grazie intanto
a tutti quelli che hanno risposto.
Maurizio

 
facilissimo - comando "esegui applescript":
tell app "Filemaker Pro"
set f to cell "filepath" of current record
end tell
tell app "Finder" to open file f
Notare che nelle prime righe applescript chiede a filemaker dei dati
contenuti in un campo, quindi dei due apple events che questo script
contiene, il primo e' "sprecato" perche' chiede cose che Filemaker
conosce gia'.
Allora alcuni preferiscono fare un campo calcolato che contiene lo
script, ed eseguirlo:
campo calcolato di tipo testo:
"tell app ""Finder"" to open file " & """" & filepath & """"
e poi scriptmaker - esegui applescript - da un campo


 e poi scriptmaker - esegui applescript - da un campo
Perfetto! Questo funziona a meraviglia! Grazie infinite!
Se posso abusare ancora un po' della vostra pazienza, ho un'ultima
domanda: è possibile evitare di specificare esplicitamente il path,
visto che i file PDF da aprire si trovano nella stessa cartella dove si
trova anche il file FileMaker?
Grazie ancora a tutti.
Maurizio

 
quando un'applescript viene esguita da dentro filemaker, l'espressione
set m to path to me
da' come risultato proprio il path dell'applicazione filemaker. Poi fai
una cosa cosi':
tell app "finder"
set upfolder to the folder of file m as text
end tell
tell app "filemaker pro"
set n to cell "nome file" of current record
end tell
set p to upfolder & n as text
tell app "Finder" to open file n
PERO' e' una cattiva abitudine mettere dei tuoi documenti nella cartella
di una applicazione! un installer fatto male potrebbe cancellarteli.


 di una applicazione! un installer fatto male potrebbe cancellarteli.
No, infatti forse non mi ero spiegato bene: i file PDF dovrebbero stare
nella stessa cartella del DOCUMENTO FileMaker da dove verranno letti. Si
può fare lo stesso o no?
Grazie ancora per l'aiuto. E' la prima volta che provo ad usare
AppleScript, quindi perdonate se faccio domande banali. Mi viene una
domanda: AS funziona anche sotto MacOS X?
Maurizio

 domanda: AS funziona anche sotto MacOS X?
Ma certamente!!
Una avvertenza e' che le scripting additions non carbonizzate devono
essere invocate dentro a una tell a un'applicazione carbon. 


 Ma no, FileMaker e` adatto a *tutto* ;-)
Ma no, per cose diverse ci vogliono strumenti diversi. Per fare le
lasagne ci vuole una cucina, per fare l'LSD ci vuole un laboratorio
chimico.


  
Secondo me... no! ;-D Posso dimenticarmi di copiare la mia applet, e
allora dove la trovo piu'? Invece una osax la ritrovo sicuramente, basta
ricordarsi di commentare il codice.


 caso di errore.
Bella idea un po' hack, io ne avrei anche un'altra: potresti sfruttare
il fatto che all'apertura di un file di fmpro, un alias ad esso viene
messo immediatamente nella cartella "documenti recenti"... queste
cartelle speciali cambiano nome nei system stranieri, ma forse si puo'
saperne il path interrogando il Finder (Finder Suite: Application) o la
Standard Additions (sezione File Commands).


 andare vanilla dove possible, anche se Vittorio si ostina ad ignorarli.
<modo HAL on>
Mi sembra che tu ti stia innervosendo, David, non vuoi un sedativo?
<modo HAL off>


 Ti manderei in culo come cerchi, ma mi fai ancora abbastanza pena.
Io non sono piu' solitario degli altri, ma faccio la vita che voglio, e
non cerco sempre di sopraffare gli altri come fai tu. 


 tell application "FileMaker Pro" to set cell "Path" to dove
Bellissimo! L'ho provato e funziona a meraviglia. Anzi, ho messo
l'applet e i file PDF in una stessa sottocartella, cosě non c'č roba in
giro.
Grazie a tutti per i preziosi consigli, anche da parte di mia moglie che
mi aveva "commissionato" questa cosa.
Maurizio

 
Senti Marco, non mi permetterei mai di fare una cosa simile! Mi ricordo
benissimo che te l'ho chiesto, e ti ho citato con tutta la mia
gratitudine. "Programmi TV" e' tutto in uno dei cd-rom della defunta
Macintosh Magazine, potete controllare. E comunque il problema di fare
una progress bar l'avevo gia' risolto a modo mio, ti avevo chiesto un
aiuto per fare una soluzione vanilla, che fosse piu' distribuibile
secondo i tuoi standard.
Tu sei arrogante, dogmatico, imponi alla gente idee con violenza le tue
idee contraddittorie (che tu stesso contraddici con la tua vita) quando
sei il primo a cambiare idea ogni due mesi. Lo fai solo per attaccare
briga con la gente e giocare a fare il re del tuo piccolo mondo
virtuale.


 q'ui non funzionerebbe, io gli elementi recenti li ho disabilitati
Appunto! Ecco perche' usare l'osax e' sia piu' comodo che piu' sicuro!


 tuo piccolo mondo virtuale.
La puzza di canfora ti ha dato alla testa, prova a farti una doccia.
-- 
Oramai che i baci tuoi piu` non mi sazian
cerchero` un'altra donna dentro ai sogni di Tarzan

 
Se non sono d'accordo con qualcosa naturalmente lo dico. Ma c'e' una
bella differenza con la tua violenza, la tua arroganza, le tue paranoie
(la privacy, Berlusconi...), il tuo odio viscerale per chi osa
contraddirti.


 contraddirti.
Dato di fatto: tutto questo nasce perche' ti ho contraddetto.
La mia presunta "violenza" e` una tua invenzione, proprio come la mia
presunta "arroganza" (appoggiata forse dall'atteggiamento "professorale"
che mi viene da qualche anno di insegnamento, ma sempre una balla), e in
tema di paranoie faresti solo meglio a tacere, o a consultare un medico.
Infine anche in questa fase proprio non ti odio (parola molto grossa),
perche' mi fai ancora abbastanza pena o perche' non mi sembri un
problema abbastanza serio... ma di fatto non abbozzero` oltre.
In questo confronto sono l'unico che non ha niente di cui vergognarsi.
Quindi smettila, che' ti conviene. Fallo ora, fallo finche' hai ancora
qualche briciola di reputazione rubacchiata che puo` resistere.
Io continuero` ad ignorarti finche' non ti rimetterai a correggere fuori
luogo qualcuno solo perche' non appoggia le tue soluzioni scopiazzate.


 luogo qualcuno solo perche' non appoggia le tue soluzioni scopiazzate.
Messa cosi', sono d'accordo anch'io, vedi di non esagerare tu.


 Ora stattene a cuccia, e non avrai altre rogne.
Sei ridicolo ! 

 I fake sono fuori luogo.
Io non c'entro (ma ringrazio :), e poi per quell'ora ho un alibi.
Comunque mi e' venuto in mente che molta gente non mi ha mai visto di
persona e potrebbe pensare che assomiglio al protagonista del fumetto
Venerdi' 12 (in appendice a Rat-Man)
La realta' e' semplicemente che sono un metro e settantacinque per cento
chili. Insomma, non saro' bello e sicuramente e' colpa mia, pero' non vi
preoccupate: riesco ancora a passare dalle porte normali. Riesco anche
ad entrare nella doccia, luogo che visito spesso quanto chiunque altro
-- se c'e' bisogno di precisarlo.


 bassezze, ma tant'e`. Ora stattene a cuccia, e non avrai altre rogne.
Se tutta la tua capacita' di sputtanamento consiste nel dire
stupidaggini del genere, posso stare tranquillo, che a mettere in piazza
la tua meschinita' ci pensi da solo.


 E non serve diventare alti e biondi, Vittorio: basta lavarsi.
ehm, Marco, anche se fosse vero quello che dici (non lo posso sapere
visto che non conosco personalmente nessuno del nsg), non mi sembra che
siano ragioni attinenti alla discussione su AS. Criticare pubblicamente
l'aspetto fisico dell'interlocutore e' male, come se tu non avessi
abbastanza argomenti, inoltre queste cose private potreste trattarle vie
mail.
-- 
ciao
crob