J'ai un file .xlsx protégé par mot de passe que je partage avec quelques collègues via Dropbox. Pour ne pas get des invites constantes, quelqu'un a ouvert le file avec des modifications non enregistrées (nous n'avons pas besoin de mettre à jour le contenu très souvent), nous l'avons configuré pour qu'il soit ouvert en lecture seule par défaut. Personnellement, j'ai ouvert le file beaucoup, mais j'ai été ennuyé par devoir constamment fournir le mot de passe et devoir cliquer sur le "Ouvrir en lecture seule?" invite qui suit.
Donc, pour améliorer ma productivité, j'ai décidé d'automatiser cela via AppleScript. Cependant, j'arrive maintenant au point frustrant que cela tue ma productivité plutôt que de l'aider. Alors je me tourne vers toi.
Je lance OS X El Capitan (10.11.6) avec Excel 2011 (14.7.0) et avec l'aide de cette question j'ai réussi à automatiser l'ouverture du file et lui passer le mot de passe. Cependant, le "Ouvrir en lecture seule?" invite est un mystère pour moi. J'ai déjà essayé de savoir avec l'inspecteur Xcode Accessibility comment parler à l'invite et lui dire de cliquer sur le button «oui», sans succès.
En outre, il ne se concentrera pas sur la window Excel, je ne sais pas si cela est dû à l'invite ou si c'est un autre problème. J'ai beaucoup lu en me plongeant dans AppleScript que les commands et leur comportement peuvent différer beaucoup entre les versions d'OS X et différentes versions d'applications.
Voici ce que j'ai maintenant:
-- excel 14.7 set theResult to "" set passwd to "password" set theWbpath to "/path/file.xlsx" -- not sure why, but I do not need the full path in order to open the file set theWb to "file.xlsx" -- example file set theSheet to "Sheet1" -- also not needed for this example, maybe in the future tell application "Microsoft Excel" set theResult to ¬ open workbook workbook file name theWb password passwd tell application "System Events" to tell process "Microsoft Excel" -- this is my attempt to restore the focus before I try to communicate with the prompt, also to no avail activate end tell end tell
Je voudrais append que j'ai déjà essayé de faire ce que la personne dans celle-ci a fait sans succès.