Apple Script не открывает Excel 2011 на MAC - PullRequest
1 голос
/ 03 сентября 2011

Может кто-нибудь объяснить, что не так в приведенном ниже яблочном сценарии:

tell the application id "com.microsoft.Excel"
set excel to open workbook workbook file name "Users:Tom:Desktop:ID_Creation.xlsx"
end tell

У меня установлен Office2011. Выдает следующую ошибку:

/usr/bin/osascript test.scpt 
test.scpt:59:137: execution error: Microsoft Excel got an error: Can’t continue open workbook. (-1708)

Я даже пытался запустить и запустить команду, но тщетно.

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011

Аааа, я вижу вашу проблему: вы не указали имя диска. Так что вместо этого вы должны сделать

set excel to "<your_drive_name>:Users:Tom:Desktop:ID_Creation.xlsx"
0 голосов
/ 02 августа 2014

Вам не нужно работать с дисками и длинными путями, если ваш файл находится на рабочем столе или в вашей домашней папке. Есть встроенные ярлыки, которые сообщают вам путь к различным важным папкам. Например, «путь к папке на рабочем столе», «путь к домашней папке», «путь к папке с документами», «путь к папке загрузок». Все они действуют как псевдоним этих папок на вашем компьютере. система, включая автоматическое указание правильного имени загрузочного диска, так что даже если вы измените его позже, ваши сценарии будут работать. Если вы хотите указать путь к папке на рабочем столе в виде текста вместо псевдонима - например, для создания пути к файлу, - просто спросите «путь к папке на рабочем столе в виде текста».

Я не использую Excel, но вот пример использования Finder:

tell application "Finder"
    set theFilePath to (the path to desktop folder as text) & "ID_Creation.xlsx"
    open file theFilePath
end tell

… который должен работать для открытия этого файла в Excel на вашем компьютере, при условии, что Excel является приложением по умолчанию для открытия файлов с таким расширением.

Вот ваш сценарий, переписанный с использованием этого метода, который должен работать на вашем компьютере, при условии, что остальная часть вашего сценария была правильной - как я уже сказал, я не использую Excel, поэтому я не могу проверить это:

tell the application id "com.microsoft.Excel"
    set theFilePath to (the path to desktop folder as text) & "ID_Creation.xlsx"
    set excel to open workbook workbook file name theFilePath
end tell

… и вот ваш скрипт немного очищен, чтобы обратиться к Excel обычным способом и использовать переменную для вашей открытой рабочей книги, которая не совпадает с именем Excel, поскольку это может сбить с толку в какой-то момент позже .

tell application "Excel"
    set theFilePath to (the path to desktop folder as text) & "ID_Creation.xlsx"
    set theExcelWorkbook to open workbook workbook file name theFilePath
end tell
...