Come aprire una cartella di lavoro Excel 2011 di sola lettura con AppleScript?

0

Ho un file .xlsx protetto da password che condivido con alcuni colleghi tramite Dropbox. Per non ricevere prompt costanti qualcuno ha aperto il file con modifiche non salvate (non è necessario aggiornare il contenuto molto spesso), l'abbiamo configurato per l'apertura come di sola lettura per impostazione predefinita. Io personalmente apro molto il file, ma mi sono infastidito dal dover costantemente fornire la password e dover fare clic su "Apri come di sola lettura?" prompt che segue.

Quindi per migliorare la mia produttività ho deciso di automatizzarlo tramite AppleScript. Tuttavia ora sto arrivando al punto frustrante che sta uccidendo la mia produttività piuttosto che aiutarla. Quindi mi rivolgo a te.

Eseguo OS X El Capitan (10.11.6) con Excel 2011 (14.7.0) e con l'aiuto di questa domanda sono riuscito ad automatizzare l'apertura del file e a passargli la password. Tuttavia, "Apri come di sola lettura?" prompt è un mistero per me. Ho già provato a scoprire con Xcode Accessibility Inspector come parlare al prompt e dirgli di fare clic sul pulsante "sì", senza alcun risultato.

Inoltre, non si concentrerà sulla finestra di Excel, non so se questo è dovuto al prompt o se questo è un altro problema. Ho letto molto mentre mi immergevo in AppleScript che i comandi e il loro comportamento possono differire molto tra le versioni di OS X e le diverse versioni delle applicazioni.

Ecco cosa ho ora:

-- 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

Vorrei aggiungere che ho già provato a fare ciò che la persona in questo ha funzionato senza successo.

    
posta Ogier Schelvis 22.11.2016 - 09:57
fonte

0 risposte

Leggi altre domande sui tag