Я пытаюсь написать сценарий, который преобразует .numbers
документов в документы .csv
. Он должен быть исполняемым из командной строки, поэтому я могу использовать его в pre-commit git hook.Applescript не имеет прав для сохранения файла
Я написал AppleScript, чтобы перейти к файлу чисел и экспортировать его как CSV, но фактический экспорт не будет работать, потому что «у вас нет разрешения. (6)». Я думаю, что это связано с песочницей, но я не могу использовать AppleScript, чтобы вскрыть сборщик файлов, потому что это должно быть полностью автоматизировано.
Как я могу предоставить разрешения AppleScript для экспорта в этот файл?
on run argv
set input_file to item 1 of argv
set output_file to input_file
--strip off the .numbers extention
set delims to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
if output_file contains "." then set output_file to (text items 1 thru -2 of output_file) as text
-- set the extension to be csv
set output_file to output_file & ".csv"
set output_file to POSIX file output_file
tell application "Numbers"
activate
tell (open input_file)
set activeDocument to it
with timeout of 3 seconds
export activeDocument as CSV to output_file
end timeout
close activeDocument saving yes
end tell
end tell
end run
Сообщение полная ошибка export_numbers_to_csv.scpt:604:676: execution error: Numbers got an error: The document “DisplayPlusButtonTestScripts.numbers” could not be exported as “DisplayPlusButtonTestScripts”. You don’t have permission. (6)
Мой вызов является osascript export_numbers_to_csv.scpt /Users/me/Test\ Scripts/MyTests.numbers
из рабочего каталога /Users/me/
.
У меня есть разрешения на запись в каталог. Я прошу писать сценарий. Я также попытался экспортировать во временный каталог (через path to temporary items from user domain
), но получил то же сообщение об ошибке.
Какой класс AppleScript является 'input_file'? Ошибка может быть связана с составом пути назначения. – vadian
@vadian Я думаю, что это просто строка. Он передается из командной строки в виде строки пути с косой чертой. – MattL
Мне интересно, почему расширение файла назначения не упоминается в сообщении об ошибке. В любом случае попробуйте 'set output_file в файл POSIX output_file как текст' – vadian