Открыть файл в 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