Открыть файл в Excel 2016 с помощью AppleScript

В Excel 2016 используется следующий AppleScript:

tell application "Microsoft Excel"
    activate
    open "Macintosh HD:Users:path:to:file"
end tell

открывает диалоговое окно с просьбой предоставить пользователю доступ Скриншот В предыдущих версиях Excel файл открывался немедленно. Похоже, что Microsoft больше не позволяет открывать файл из скрипта без специального разрешения пользователя.
Есть ли способ обойти диалог?

1 ответ

Решение

Используйте объект файла или объект псевдонима вместо строки

tell application "Microsoft Excel"
    activate
    open file "Macintosh HD:Users:path:to:file"
    -- or --> open alias "Macintosh HD:Users:path:to:file"
end tell

Если у вас есть путь POSIX, вы можете использовать это (open POSIX file "..." не работает)

tell application "Microsoft Excel"
    activate
    set my_file to POSIX file "/Users/name/path/to/file"
    open my_file
end tell

Это открывает выбранные файлы

tell application "Finder"
    open selection with MicrosoftExcel
end tell

MacOS 10.14 Мохаве | Excel для Mac 16.20

Я использую этот скриптлет для обхода диалогового окна разрешений доступа:

'with timeout of 10 seconds
    try
        -- File open may time out due to Apple's sandbox security rules. 
        open FileName
    on error        
        -- A Cancel and Grant Access dialog pops up and stops execution. Click the Grant Access button.
        tell application "System Events" to tell process "Microsoft Excel" to tell button "Grant Access" of window "Open" of application process "Microsoft Excel" of application "System Events" to perform action "AXPress"
    end try
end timeout'

Версия Excel: 16.32, версия Mac OS: 10.14.6

Другие вопросы по тегам