Попитайте Script Doctor: Разрешаване на проблеми с пощата

click fraud protection

AppleScript е чудесен инструмент за автоматизиране на приложенията, които използвате ежедневно на вашия Mac—ако можете да разберете правилния код. Тук сме, за да помогнем: Помолихме експерта по скриптове и Automator Бен Уолди да разреши някои проблеми с четеца с помощта на AppleScript. Идеята е не само да се предоставят конкретни решения за конкретни проблеми, но и да се демонстрират някои общи принципи и осигурете примерни скриптове, които с малко бърникане можете да адаптирате за решаване на куп други проблеми също. Първо: Няколко въпроса за Mail. Стартирайте AppleScript Editor (/Applications/Utilities) и следвайте.

Въпрос: Имам тонове папки на пощенска кутия в Mail, някои от тях са вложени на няколко нива. През годините съм записал хиляди съобщения в тях, някои от които никога не съм маркирал като прочетени. Има ли начин да преминете през всички тези папки и да маркирате всички съобщения като прочетени?

Абсолютно. Искате да кажете на Mail да зададе атрибута за състояние на четене на всяко непрочетено съобщение във вашата входяща кутия, локалните пощенски кутии и пощенските кутии на вашия имейл сървър на

невярно. Бъдете подготвени обаче: В зависимост от броя на съобщенията и пощенските кутии, които имате, изпълнението на тази процедура може да отнеме известно време. И тъй като отделните AppleScript команди изтекат, ако не завършат в рамките на 2 минути, може също да получите грешка. Ето защо е добра идея да затворите скрипта си в a таймаут обвивка за предотвратяване на подобни грешки. Скриптът по-долу позволява всяко действие да завърши до 5 минути; не се колебайте да увеличите периода на изчакване, ако е необходимо.

--Разрешете до 5 минути с изчакване от 300 секунди, кажете на приложението „Поща“ -- Обработете всички непрочетени съобщения във входящата кутия, задайте статус на четене на всяко съобщение във входящата кутия, където неговият статус на четене = false към true -- Обработка на всички непрочетени съобщения на вашия локален Mac, задаване на статус на четене на всяко съобщение от всяка пощенска кутия, където неговият статус на четене = false към true -- Обработка на всички непрочетени съобщения на вашия пощенски сървър, задаване на състояние на четене на всяко съобщение от всяка пощенска кутия на всеки акаунт, където неговият статус на четене = фалшиво до истинско край на съобщението таймаут

Въпрос: Поради съображения за архивиране по време на работа бях помолен да отпечатам хиляди имейл съобщения на Mail в PDF формат. Как мога да автоматизирам това?

За съжаление, Mail няма вградена поддръжка на AppleScript за запазване на съобщение като PDF, така че решението не е толкова просто, колкото може да изглежда. Но определено е възможно. Номерът е да използвате някои UI скриптове, за да заобиколите ограничението. Първо отидете на системните предпочитания за достъпност и се уверете, че Разрешаване на достъп за помощни устройства поставена е отметка; Скриптовете на потребителския интерфейс не работят, освен ако тази настройка не е включена.

Този скрипт записва най-отпред отвореното съобщение като PDF. За да обработите множество съобщения, можете да разширите скрипта, като го обвиете в повтарящ се цикъл и добавите известна защита срещу грешки. ( Ето един скрипт който запазва всички входящи съобщения като PDF файлове.)

кажете на приложението „Системни събития“ кажете на процеса „Поща“ -- Изведете пощата отпред, задайте най-отпред на true -- Изберете елемент от менюто за печат, щракнете върху (първи елемент от менюто на меню „Файл“ на лента с менюта 1, чието име започва с "Печат") кажете прозорец 1 -- Изчакайте, докато се появи листът за печат, повторете, докато съществува лист 1 край повторете кажете лист 1 -- Щракнете върху бутона PDF щракнете върху бутона на менюто "PDF" -- Изберете Запиши като Щракване върху елемент от менюто на PDF (първи елемент от меню 1 на бутона на менюто „PDF“, чието име започва със „Запазване като PDF“) -- Изчакайте, докато се появи записът като лист, повторете, докато съществува лист 1, и повторете уведомете листа 1 -- Придвижете се до натискането на клавиш на работния плот "D" с помощта на командата надолу -- Въведете име за натискането на клавиша PDF "My PDF.pdf" -- Щракнете върху бутона Запазване щракнете върху бутона "Запазване" край кажи край кажи край кажи край кажи край кажи казвам

Имайте предвид, че този скрипт е свързан с интерфейса на Mail и че очаква да съществуват определени менюта, бутони и прозорци. Ако Apple премести нещата в бъдеща версия на OS X, може да се наложи да направите някои корекции в скрипта.

Въпрос: Когато съм в офиса, свързвам своя MacBook Air към външен монитор, който след това използвам като основен екран; екранът на Air е основно за моя календар и поща. Бих искал да имам скрипт, който мога да стартирам, когато пристигна на работа, който автоматично ще премести тези прозорци на приложения на екрана на Air и ще ги преоразмери. Може ли да се направи?

Със сигурност. Когато сте в офиса, преместете прозорците си Календар и Поща на екрана на Air и ги позиционирайте, където искате. Сега сте готови да уловите техните граници (позиция и размер). Изпълнете всеки от следните скриптове в AppleScript Editor. Те ще върнат границите в долния панел с резултати; отбележете резултатите.

-- За да получите позицията и размера на прозореца на календара, приложението "Календар" връща границите на предния прозорец и кажете
-- За да получите позицията на прозореца на пощата и приложението sizetell, "Поща" връща границите на предния преглед на съобщението и кажете

Да кажем, че първият скрипт връща стойностите {-1426, 102, -491, 930}, докато вторият се връща --> {-955, 100, -7, 845}. Включете тези числа в скрипта по-долу. Когато стартирате скрипта, той ще преоразмери и позиционира съответно прозорците. Запазете скрипта като приложение и го плъзнете във вашия Dock. Всеки път, когато сте в офиса, просто щракнете върху него, за да нулирате прозорците. Може да помислите да напишете втора версия на скрипта, за да ги преместите, когато използвате екрана на MacBook самостоятелно.

-- За да зададете позицията на прозореца на календара и приложението sizetell „Календар“, задайте границите на предния прозорец на {-1426, 102, -491, 930}end кажи-- За да зададете позицията на прозореца на пощата и размера на приложението "Поща", задайте границите на предния преглед на съобщения на {-955, 100, -7, 845}end казвам

Имате проблем, за който Script Doctor може да помогне? Изпратете ги на [email protected].

Актуализирано на 29.10.12 16:45 ч. PT за коригиране на въпросната грешка при редактиране относно: отпечатване в PDF файлове.

  • Apr 17, 2023
  • 14
  • 0
instagram story viewer