AppleScript не может сохранить файл textedit - PullRequest
0 голосов
/ 12 февраля 2019

Я использую код для форматирования файлов textedit для лабораторных данных.

В настоящее время я использую AppleScript для создания документа в TextEdit и добавления текста к нему, но когда я пытаюсь сохранить его, TextEdit даетмне ошибка "у вас нет разрешения, чтобы сохранить как бла-бла".Я уже пытался изменить разрешение для папки, в которой я его сохраняю, но я думаю, что это может быть связано с тем, что это файл, созданный AppleScript.

Точный вывод ошибки - это диалогполе из TextEdit

Не удалось сохранить документ «1.txt» как «1».У вас нет разрешения.

Чтобы просмотреть или изменить разрешения, выберите элемент в Finder и выберите «Файл»> «Информация».

Сегменты моего кода, которые не имеютработа

tell application "TextEdit"
    make new document with properties {name:("1.txt")}
end tell


--data formatting code here (n is set here)


tell application "TextEdit"
    delay 1

    close document 1 saving in ("/Users/bo/Desktop/Script Doc/" & (n as string))

    set n to n + 1
    make new document with properties {name:((n as string) & ".txt")}
    delay 1
end tell

Я изучил другие вопросы и нашел сегменты кода

open for access document 1
close access document 1

, но я не уверен, как их реализовать / если мне даже нужно, и еслинет, я не уверен, как решить эту проблему.

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

TextEdit находится в песочнице.Вы не можете сохранять документы в стандартной папке рабочего стола.

Альтернативой является жесткое кодирование пути к папке документов в контейнере TextEdit.

tell application "TextEdit"
    make new document with properties {name:"1.txt"}
end tell


set containerDocumentsFolder to (path to library folder from user domain as text) & "Containers:com.apple.TextEdit:Data:Documents:"
tell application "TextEdit"

    close document 1 saving in containerDocumentsFolder & (n as string) & ".txt"

    set n to n + 1
    make new document with properties {name:(n as string) & ".txt"}
end tell
0 голосов
/ 12 февраля 2019

Сохранение непосредственно на рабочий стол работает для меня, используя последнюю версию macOS Mojave

property outputPath : POSIX path of (((path to desktop as text) & "Script Doc") as alias)
property docNumber : 1
property docExtension : ".txt"

tell application "TextEdit"
    set docName to (docNumber & docExtension) as text
    set theText to "Your Desired Text Content"

    set thisDoc to make new document with properties {name:docName, text:theText}
    close thisDoc saving in POSIX file (outputPath & "/" & (name of thisDoc))

    (* IF YOU WANT TO SAVE MULTIPLE FILES WITH CONSECUTIVE NAMES *)
    set docNumber to docNumber + 1
    set docName to (docNumber & docExtension) as text

    set thisDoc2 to make new document with properties {name:docName} -- Removed Text Property This Time
    close thisDoc2 saving in POSIX file (outputPath & "/" & (name of thisDoc2))
end tell
0 голосов
/ 12 февраля 2019

К сожалению, это сообщение об ошибке мало помогает.По сути, вы пытаетесь сохранить в строку, которая не будет работать - вам нужно использовать спецификатор файла , например:

close document 1 saving in POSIX file ("/Users/bo/Desktop/Script Doc/" & n & ".txt")

Обратите внимание, что не все знают оПути POSIX, в этом случае вам нужно будет принудительно указать или указать его, как в моем примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...