2016-05-26 3 views
0

, поэтому я пытался создать сценарий, который создаст папку на моем рабочем столе, а затем создаст электронную таблицу и сохранит таблицу в указанной папке. вот сценарий ...Не удалось сохранить в созданную папку (applescript)

set folderName to "Tester" 
set FileName to "MayDay" 
set SaveName to FileName & ".numbers" as string 
set FilePath to "Macintosh HD:Users:Ryan:Desktop:" & FileName & ":" 
tell application "Finder" to make new folder at desktop with properties {name:folderName} 
tell application "Numbers" to activate 
tell application "Numbers" to make new document with properties {name:FileName} 
tell application "Numbers" 
    tell document 1 
     tell table 1 of sheet 1 
      merge range "B8:C8" 
     end tell 
    end tell 

    delay 1 
    tell application "Numbers" to activate 
end tell 
tell application "Numbers" to (save document 1) in FilePath 
end 

Он не имеет никаких проблем, что делает папку, открывая таблицу, изменив свое название, и слияние клеток, проблема приходит в конце концов, когда я пытаюсь сохранить его.

Я попытался добавить (как цифры) круглые скобки после команды сохранения, что ошибки. После запуска скрипта и устранения сбоя я могу закрыть номера, и он предложит мне сохранить его в папке «Тестер», но он не сделает этого сам по себе. вставьте серые волосы и головные боли.

Я действительно новичок в applescript, и я надеюсь, что это всего лишь простая синтаксическая вещь, любая помощь будет оценена.

Заранее благодарен!

R

ответ

0

Вот рабочий код. Ключ должен использовать POSIX-путь и POSIX-файл, а также «save ... in ...» принимает ссылку на файл , а не строку.

set folderName to "Tester" 
set fileName to "MayDay.numbers" 

set FilePath to (path to desktop as string) & folderName & ":" & fileName 

set posixPath to POSIX path of FilePath 

try 
    tell application "Finder" to make new folder at desktop with properties {name:folderName} 
on error errMsg 
end try 

tell application "Numbers" 
    set myDoc to make new document with properties {name:fileName} 
    tell myDoc 
     tell table 1 of sheet 1 
      merge range "B8:C8" 
     end tell 
    end tell 

    delay 1 

    save myDoc in POSIX file posixPath 

end tell 
+0

Это помогло много, спасибо! Я до сих пор не понимаю тонны вещей, которые я вложил в свой сценарий, но Im проваливает вперед с помощью всякой помощи. Я очень ценю это! –

Смежные вопросы