Как выбрать сообщение в Почте с идентификатором, используя AppleScript?

1

С помощью «Ask Different» я заработал свою первую программу AppleScript, и я пытаюсь ее улучшить. Я опять в тупике.

Я нашел идентификатор номера конкретного сообщения в папке «Входящие» моей учетной записи. AppleScript говорит мне, что это ID 167868. Надеюсь, это звучит разумно, так как в моем INBOX всего 190 сообщений. Я предполагаю, что идентификатор указывает, какое именно сообщение касается.

Теперь я хочу активировать Почту, выбрать INBOX моей учетной записи, отсортировать сообщения в соответствии с полем «От:» и выбрать сообщение с этим идентификатором. После этого я хочу использовать Почту в интерактивном режиме.

Я пытался выяснить, как это сделать, из различных руководств AppleScript, но для начинающих это все немного непросто, и я был бы признателен за некоторую помощь. Я попытался просмотреть некоторые словари AppleScript для Mail.app, но не смог найти подходящих команд, кроме «активировать». В примере кода я видел разные вещи, такие как «строка меню 1», но не знал, как найти пункты меню в строке меню 1.

Извините, что задаю элементарные вопросы, но мне нужно, чтобы программа работала, и это должно быть всего в нескольких строках. После этого я буду мотивирован работать более медленно и систематически через некоторые учебные пособия, так что уровень моих вопросов улучшится.

Дэвид Эпштейн
источник
Вы должны прочитать о системных событиях и элементах пользовательского интерфейса. Таким образом, вам не нужно перемещаться по элементам программно, UI Browser предоставляет хороший интерфейс для представления иерархии.
adayzdone

Ответы:

1

Наверное, не единственный способ сделать это ... И это не мой любимый тип сценариев.

Но вот пример каждого синтаксиса, который вы описываете.

Уважать:

  • средство просмотра сообщений
  • выбранные почтовые ящики
  • выбранные сообщения

В библиотеке Applescript для Почты.

tell application "Mail"
    set theMailID to 543521
    set theM to mailbox "INBOX" of account "iCloud"

    set selected mailboxes of message viewer 1 to theM
    set sort column of message viewer 1 to from column
    delay 0.5 -- important delay or message selection may not happen
    set selected messages of message viewer 1 to (first message of (theM) whose id = theMailID)

end tell
markhunte
источник
Хотя это синтаксически проверяет, «установить выбранные сообщения в средстве просмотра сообщений», похоже, на самом деле не влияет на пользовательский интерфейс.
Символ
Кто-нибудь знает, как это сделать в JXA?
МакШаман,