Как исполнить команду меню?

  • Автор темы Автор темы teatral
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

teatral

Участник
Топикстартер
Сообщения
350
Реакции
365
В данном случае меня интересует, как на javascript исполнить команду - Редактирование: Найти/Заменить (Find/Change) - Ctrl-F
(здесь меня не интересует метод Object.findText(), а именно вызов окна поиска)
 
Татарин, вы ничего не перепутали? Во первых, у вас ссылка на tools guide, а по хорошему надо на script reference (которое топикстартеру уже подсказал Капитан Очевидность)
А во вторых, я даже и не уверен сходу, возможно ли это в ID вообще? В акробате есть execMenuItem, в иллюстраторе в CS6 тоже недавно сделали, а про ID я совсем не уверен. Или я торможу?
 
А почитать не? Особенно со страницы 62.
 
А можно еще подсказку? Я все еще в танке :(
Там, вроде, про создание собственных элементов интерфейса, а нам нужен доступ к существующим. 'hmmm'
 
Доступа к существующим командам объектная модель программирования предоставить не может ввиду наличия у объектов свойств и отсутствия команд. На applescripte я это реализовал бы так:
Код:
tell application "SystemUIServer" to tell application process "InDesign"
set frontmost to true
key down control
  key code XXX -- код клавиши "F"
  key up control
end tell
Примерно как-то так. Можно покопать в эту сторону в javascript. Ну или в конце концов прочитать эту книгу и научиться самому творить интерфейсы. В жизни рано или поздно пригодится.
 
При чем тут творить интерфейсы?
У ТС конкретная задача - открыть из джаваскрипта стандартный диалог Find.
А вы ему что - предлагаете самому этот диалог на ScriptUI нарисовать или через AppleScript кнопку нажать?
Из JS кнопку программно нажать невозможно, это я так, на всякий случай говорю. ;)
 
Не факт.
 
Не факт - что? Из JS код на клаву нельзя послать - это факт! Научно-медицинский. '))'
 
Я так понимаю, что сочетание клавиш Ctrl-F послать приложению тоже нельзя из javascript?
Вы знаете способ как это сделать? На бейсике и эпплскрипте можно, на JS - нет.
 
Послать на клаву нельзя, а сгенерить нажатие можно.
 
Повторяю - вы знаете способ?
 
Да!
 
  • Спасибо
Реакции: teatral, _MBK_ и suntory
Другое дело!
 
Код:
var Shell=WScript.CreateObject("WScript.Shell");
[skip]
Shell.SendKeys("F");
Как-то так.
Код:
var Shell=WScript.CreateObject("WScript.Shell");
[skip]
Shell.Events.keydown("F");
Или так.
 
Статус
Закрыто для дальнейших ответов.