со свойствами {name: ***} не работает

Извините, если это вопрос новичков, я просто пытаюсь изучить эту прекрасную программу, известную как applescript.

сообщить приложению «Номера» ¬ активировать конец

сообщить приложению «Числа» ¬ создать новый документ со свойствами {name: "document 3"} end

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

Я даже безуспешно пытался установить переменную для использования в {name: variable} или {name: "variable"}.

Любая помощь будет оценена, заранее спасибо.

PS ... ехидные комментарии будут допустимы, если они принесут мне решение!


person Ryan Harbison    schedule 25.05.2016    source источник


Ответы (4)


У меня есть числа. Попробуй это:

tell application "Numbers"
    set myDoc to make new document with properties {name:"document 3"}
    name of myDoc
end tell

В окне результатов должно отображаться "document 3". Почему вы говорите, что это не работает? Возможно, потому, что окно, содержащее документ, помечено как «Без названия»? Это потому, что в окне не отображается имя документа, пока документ не будет сохранен. Если вы выберете «Сохранить» в меню, вы увидите свое имя документа прямо в диалоговом окне сохранения, а заголовок окна изменится после сохранения.

person Ron Reuter    schedule 25.05.2016

у меня нет "номеров" на моем компьютере, не могли бы вы попробовать это:

tell application "TextEdit"
    make new document at front with properties {name:"hello darkness"}
end tell

замените "textedit" на "цифры"

повеселись :)

хорошо, попробуйте это:

tell application "TextEdit"
    make new document at front
    tell document 1
        set name to "hello darkness"
    end tell
end tell
person 水巷孑蠻    schedule 25.05.2016
comment
Я просто сделал именно то, что вы предложили ... Не сработало. Подоконник без названия. Поскольку я работаю над другой частью своего скрипта, я решил, что в любом случае добавлю некоторую общую информацию в новую электронную таблицу для тестирования других вещей, которые я делаю ... Как только я отредактировал пустую таблицу, она изменила свое имя на hello тьма! Думаю, мне просто нужно отредактировать его, чтобы понять, что я действительно хочу изменить имя. Спасибо вам за помощь! - person Ryan Harbison; 25.05.2016

У меня также нет Numbers, чтобы проверить это, но теоретически это должно работать.

tell application "Numbers"
    set mydoc to make new document
    set name of mydoc to "My New Document"
end tell

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

Удачи

person ThrowBackDewd    schedule 25.05.2016

Просто чтобы сохранить все решение в applescript, что позволяет создавать без вмешательства:

tell application "Numbers"
    set nDoc to make new document
    save nDoc in file ((path to desktop as text) & "crap.numbers")
end tell

Хотя эти команды Numbers (make, save) имеют несколько параметров, похоже, они работают не так, как определено в словаре.

person Mockman    schedule 26.03.2021