2010-04-20 10 views
0

J'essaie d'obtenir des applescript pour lire les événements d'aujourd'hui et les écrire dans un fichier. Le code est le suivant:Utiliser applescript pour écrire des données iCal dans le fichier

set out to "" 
tell application "iCal" 
set todaysDate to current date 
set time of todaysDate to 0 
set tomorrowsDate to todaysDate + (1 * days) 
repeat with c in (every calendar) 
set theEvents to (every event of c whose start date ≥ todaysDate and start date <  tomorrowsDate) 
repeat with current_event in theEvents 
set out to out & summary of current_event & " 
" 
end repeat 
end repeat 
end tell 

set the_file to (((path to documents folder) as string) & "DesktopImage:ical.txt") 
try 
open for access the_file with write permission 
set eof of the_file to 0 
write out to the_file 
close access the_file 
on error 
try 
close access the_file 
end try 
end try 

return out 

Les articles sont iques se sont retournés correctement et le fichier est créé ical.txt correctement dans le dossier Documents/DesktopImage, mais le fichier est vide.

Même si je remplace

write out to the_file 

avec

write "Test string" to the_file 

il est toujours en blanc

des idées?

Ty

Répondre

1

Pour réparer quelque chose, vous devez d'abord de savoir ce qui ne va pas. Vous pouvez obtenir le message d'erreur lorsque votre gestionnaire d'erreur est invoquée, puis l'afficher:

on error msg 
    display dialog "Error accessing " & (the_file as string) & ": " & msg 

Une fois que vous faites cela, vous voyez rapidement le problème: the_file est une chaîne, pas un fichier, donc toutes les opérations de fichiers seront échouer. Définir the_file comme:

set the_file to alias (((path to documents folder) as string) & "DesktopImage:ical.txt") 
+0

Fonctionne un régal. Merci – Guy