Newsgroup: it.comp.macintosh
Titolo: Modificare in automatico le proprietà di file doc

Ciao a tutti!
Devo modificare spesso le proprietà (nome autore, società e 
così via) di molti file doc di Word. Che voi sappiate, esiste 
qualche software / barbatrucco / cazzabubbolo per fare tutto 
in automatico, magari in batch?
Grazie, salutoni.
Fiorenzo

 una macro?
Una macro, uno script di Applescript (che peraltro, ahimé, non 
so usare) o di Automator, insomma qualcosa che mi permetta di 
evitare di:
- aprire il file
- visualizzare le proprietà
- selezionare la scheda "Sommario"
- selezionare il campo "Autore" ed editarlo
- selezionare il campo "Società" ed editarlo
- salvare il file
- chiudere il file.
Certo che "cazzabubbolo" era più carino di "macro", no?...
Grazie, ciao.
Fiorenzo

 - chiudere il file.
dovrebbe funzionare tutto!
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 uno script di Applescript
Selezioni i documenti nel Finder e poi lanci lo script:
property ilTItolo : "Qui ci metti il titolo"
property laSocieta : "Qui ci metti la società"
tell application "Finder"
set FinderSelection to the selection
repeat with theFile in FinderSelection
tell application "Microsoft Word"
open theFile as alias
set value of document property "Title" of document 1 to ilTitolo
set value of document property "Company" of document 1 to laSocieta
close document 1 saving yes
end tell
end repeat
end tell
-- 
Salutandovi indistintamente

 
Per farlo (per chi non lo sapesse):
torna al messaggio di Mad Prof
seleziona la parte con lo script (da "property..." a "end tell")
Seleziona il menù: MacSoup>Services>ScriptEditor>Make New Applescript
ti si aprirà ScriptEditor con le righe selezionate. A quel punto puoi
salvarlo e lanciarlo ogni volta che ti pare...
Ciao
P.S. Il sistema funziona da qualsiasi applicazione

 property ilTItolo : "Qui ci metti il titolo"
Pardon, tu volevi impostare l'autore:
property lAutore : "Qui ci metti l'autore"
property laSocieta : "Qui ci metti la societą"
tell application "Finder"
set FinderSelection to the selection
repeat with theFile in FinderSelection
tell application "Microsoft Word"
open theFile as alias
set value of document property "Author" of document 1 to lAutore


 P.S. Il sistema funziona da qualsiasi applicazione
Strano: da Netscape l'opzione 
Netscape>Services>ScriptEditor>Make New Applescript non può 
essere selezionata (è in grigio). Nemmeno da Word.
Ciao.

 end tell
Buio.
Ho provato, ma non succede niente. Ad un certo punto il file 
si chiude senza che le proprietà vengano modificate.
Dove cavolo sbaglio?

 senza che le proprietà vengano modificate.
Sicuro? Hai verificato? 
-- 
Salutandovi indistintamente


| |._/|_|\__/\__/\__/ | *Non e' bello cio' che e' bello,
|        /_/ /_/      |  figurarsi cio' che e' brutto.

 La proprieta' "ilTitolo", cosi' com'e' lo script, non e' definita.
Veramente lo era, nel primo script che gli ho postato, cosě come nel
secondo era definita lAutore...
-- 
Salutandovi indistintamente

 essere selezionata (è in grigio). Nemmeno da Word.
Mentre nelle applicazioni Cocoa il menu servizi funziona di default, in
quelle Carbon deve essere specificamente "attivato" da chi realizza il
programma, cosa che né gli sviluppatori di Netscape, né quelli di Office
hanno fatto...
-- 
Salutandovi indistintamente

 secondo era definita lAutore...
Si', ma qui non serve "ilTitolo" nella proprieta "Title" ne' "lAutore"
nella proprieta' "Title" .-)
Insomma, e' in fase di assegnazione delle proprieta' del documento che
c'e' un errore.


 c'e' un errore.
No, l'errore deve averlo fatto lui, prendendo un pezzo del secondo
script e appiccicandolo al primo...
-- 
Salutandovi indistintamente

 script e appiccicandolo al primo...
Ah, vero: ha tenuto l'inizio del secondo ma ci ha attaccato il seguito
del primo .-)


Biggo wrote:
 >>No, l'errore deve averlo fatto lui, prendendo un pezzo del 
secondo
 >>script e appiccicandolo al primo...
 >
 > Ah, vero: ha tenuto l'inizio del secondo ma ci ha attaccato 
il seguito
 > del primo .-)
Confermo: dato che avevo inavvertitamente cancellato il 
secondo msg di Mad Prof (quello con le proprietą esatte), per 
rispondere ho quotato il primo, correggendolo maldestramente.
Fatto sta che lo script non funge.

 Fatto sta che lo script non funge.
Che versione di Word hai?
-- 
Salutandovi indistintamente

 Che versione di Word hai?
Prova a far girare lo script da dentro Script Editor, col tab "Resoconto
sugli eventi" attivo, e copincolla quello che esce fuori. Comunque con
Office 2004 (con tutti gli aggiornamenti fatti) lo script funziona,
garantito.
-- 
Salutandovi indistintamente

 
Office 2004 in inglese.

 
Ho impostato lo script:
property lAutore : "Qui ci metti l'autore"
property laSocieta : "Qui ci metti la società"
tell application "Finder"
	set FinderSelection to the selection
	repeat with theFile in FinderSelection
		tell application "Microsoft Word"
			open theFile as alias
			set value of document property "Author" of document 1 to 
lAutore
			set value of document property "Company" of document 1 to 
laSocieta
			close document 1 saving yes
		end tell
	end repeat
end tell
che mi dà questo resoconto degli eventi:
tell application "Finder"
	get selection
		{document file "Prova" of folder "Prova" of folder "Desktop" 
of folder "mionomebreveutente" of folder "Users" of startup disk}
	get document file "Prova" of folder "Prova" of folder 
"Desktop" of folder "mionomebreveutente" of folder "Users" of 
startup disk
		alias "Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell application "Microsoft Word"
	open alias "Maxtor 
160:Users:mionomebreveutente:Desktop:Prova:Prova"
	set value of document property "Author" of document 1 to "Qui 
ci metti l'autore"
	set value of document property "Company" of document 1 to 
"Qui ci metti la società"


 property laSocieta : "Qui ci metti la società"
Queste magari andrebbero modificate mettendo i dati che servono a te...
Per il resto mi pare tutto a posto. Hai verificato nelle proprietà del
file cosa c'è...?
-- 
Salutandovi indistintamente

 file cosa c'è...?
Dai, Mad, fin lì ci arrivo!!!...   ;-)
Mi ripromettevo di inserire i miei dati solo dopo che lo 
script avesse dimostrato di funzionare.
Nel file continuano ad esserci le proprietà che avevo inserito 
per prova, e anche la data dell'ultimo salvataggio non cambia.
Word si apre, il file si apre e si chiude, ma poi tutto sembra 
bloccarsi e il file rimane così com'è.

 bloccarsi e il file rimane così com'è.
mmm... veramente strano. L'unica cosa che mi viene in mente è che ci sia
un ritardo nell'apertura del file e quando partono i comandi per
impostare le proprietà il file non risulta ancora aperto. Prova ad
aggiungere per prova un
delay 2
dopo "open theFile as alias".
-- 
Salutandovi indistintamente

 dopo "open theFile as alias".
e/o a riscrivere i due comandi per le impostazioni in questo modo:
set value of Ź
document property "Author" of document (theFile as alias) to lAutore
set value of Ź
document property "Company" of document (theFile as alias) to laSocieta
-- 
Salutandovi indistintamente

 document property "Company" of document (theFile as alias) to laSocieta
Nisba.
Ho anche provato a portare il delay a 5 e a cancellare tutta 
la parte "set value of...", ma il file non viene salvato lo 
stesso.

 Nisba.
Riprova con questo, giusto per capire se il problema è nel salvataggio
del file:
property lAutore : "Qui ci metti l'autore"
property laSocieta : "Qui ci metti la società"
tell application "Finder"
set FinderSelection to the selection
repeat with theFile in FinderSelection
tell application "Microsoft Word"
open theFile as alias
set value of ¬
document property "Author" of document (theFile as alias) to lAutore
set value of ¬
document property "Company" of document (theFile as alias) to laSocieta
display dialog ¬
(value of document property "Company" of document (theFile as alias))¬
as text
close document 1 saving yes
end tell
end repeat
end tell
-- 
Salutandovi indistintamente

 del file:
Mille grazie per la pazienza, Mad.   :-)
Adesso, prima che il file si chiuda mi compare una finestra 
con "Qui metti la società" e i pulsanti Cancel e Ok. Dopo di 
che, idem come prima (il file non viene salvato da nessuna parte).
Il resoconto degli eventi è:
tell application "Finder"
	get selection
		{document file "Prova" of folder "Prova" of folder "Desktop" 
of folder "mionomebreveutente" of folder "Users" of startup disk}
	get document file "Prova" of folder "Prova" of folder 
"Desktop" of folder "mionomebreveutente" of folder "Users" of 
startup disk
		alias "Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell some application
	open alias "Maxtor 
160:Users:mionomebreveutente:Desktop:Prova:Prova"
		current application
end tell
tell application "Microsoft Word"
	open alias "Maxtor 
160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell application "Finder"
	get document file "Prova" of folder "Prova" of folder 
"Desktop" of folder "mionomebreveutente" of folder "Users" of 
startup disk
		alias "Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell application "Microsoft Word"
	set value of document property "Author" of document (alias 
"Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova") to 
"Qui ci metti l'autore"
end tell
tell application "Finder"
	get document file "Prova" of folder "Prova" of folder 
"Desktop" of folder "mionomebreveutente" of folder "Users" of 
startup disk
		alias "Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell application "Microsoft Word"
	set value of document property "Company" of document (alias 
"Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova") to 
"Qui ci metti la società"
end tell
tell application "Finder"
	get document file "Prova" of folder "Prova" of folder 
"Desktop" of folder "mionomebreveutente" of folder "Users" of 
startup disk
		alias "Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova"
end tell
tell application "Microsoft Word"
	get value of document property "Company" of document (alias 
"Maxtor 160:Users:mionomebreveutente:Desktop:Prova:Prova")
		"Qui ci metti la società"
	display dialog "Qui ci metti la società"
	«event ascrgdut»
		{}
	display dialog "Qui ci metti la società"
		{button returned:"OK"}


 che, idem come prima (il file non viene salvato da nessuna parte).
Facciamo un'altra prova, togliendo queste righe:
display dialog ¬
(value of document property "Company" of document (theFile as alias))¬
as text
close document 1 saving yes
A questo punto il documento dovrebbe rimanere aperto: verifica la
presenza del commento e poi prova a salvare il file a mano.
-- 
Salutandovi indistintamente

 Facciamo un'altra prova, togliendo queste righe:
Mad, sei grande: FUNZIONA!!!
E... ehm... ecco... visto che hai fatto trenta... che diavolo 
posso schiaffarci dentro, a 'sto punto, per fargli capire che 
vorrei che il file si chiudesse senza perdersi nel limbo dei 
byte perduti???

 byte perduti???
Lo script originale fa esattamente quello. Non ho la minima idea del
perché a te il file non venga salvato. Controlla i privilegi di accesso
al disco e al file.
-- 
Salutandovi indistintamente

 al disco e al file.
Ok, appena ho un po' di tempo ci pasticcio un po'.
Grazie mille per avermi risolto questo problema, Mad.
Questo newsgroup è veramente insostituibile!   :-)

 end tell
La prima versione che hai postato fa svanire nel nulla il file 
salvato (evidentemente, come dicevi, non lo salva proprio), ma 
questa FUNZIA, ECCOME SE FUNZIA!!!
L'unico problema è che come autore, nelle proprietà, mi indica 
"Brigitte Bardot"...   :-(
Scherzo: mille grazie anche a te!

 set saved of document 1 to false
Ottima intuizione. Strano che qui in tutte le prove che ho fatto (anche
con file diversi) non ce ne sia mai stato bisogno: il file veniva sempre
salvato in chiusura.
-- 
Salutandovi indistintamente

 la butto li`: magari tu hai l'autosave disabilitato
No, quello č impostato ogni 10 minuti. Il salvataggio veloce invece č
disabilitato, ma non so se c'entra...
-- 
Salutandovi indistintamente

 intendevo il salvataggio veloce.
Io ce l'ho disabilitato, per non trovarmi decine di file temp 
che non so se posso buttare oppure no.

 risolto qualche magagna nascosta di word su panther che uso io.
Non credo che l'OS possa entrarci qualcosa. Al limite penserei a qualche
aggiornamento del supporto AppleScript di Word.
-- 
Salutandovi indistintamente

 forse perché era un file di prova vuoto?
Provato ora: qui funziona anche con un file vuoto appena creato.
-- 
Salutandovi indistintamente