Întrebați-l pe Script Doctor: Rezolvarea problemelor de e-mail

click fraud protection

AppleScript este un instrument excelent pentru automatizarea aplicațiilor pe care le utilizați zilnic pe Mac—dacă puteți găsi codul potrivit. Suntem aici pentru a vă ajuta: i-am cerut expertului în scripturi și Automator, Ben Waldie, să rezolve unele probleme de citire folosind AppleScript. Ideea nu este doar de a oferi soluții specifice pentru probleme specifice, ci și de a demonstra unele generale principii și să furnizeze exemple de scripturi pe care, cu puțină modificare, le puteți adapta pentru a rezolva o grămadă de alte probleme, de asemenea. În primul rând: câteva întrebări despre e-mail. Porniți AppleScript Editor (/Aplicații/Utilități) și urmați.

Î: Am o mulțime de dosare de cutie poștală în Mail, unele dintre ele imbricate la mai multe niveluri. De-a lungul anilor, am înregistrat mii de mesaje în ele, dintre care unele nu le-am marcat niciodată ca citite. Există vreo modalitate de a parcurge toate acele foldere și de a marca toate mesajele ca citite?

Absolut. Doriți să spuneți lui Mail să seteze atributul de stare de citire al fiecărui mesaj necitit din Inbox, cutiile poștale locale și cutiile poștale de pe serverul dvs. de e-mail pentru

fals. Fii pregătit, totuși: în funcție de numărul de mesaje și cutii poștale pe care le ai, această procedură poate dura ceva timp. Și, deoarece comenzile AppleScript individuale expiră dacă nu se termină în 2 minute, este posibil să primiți și o eroare. De aceea este o idee bună să includeți scriptul într-un timeout wrapper pentru a preveni astfel de erori. Scriptul de mai jos permite fiecărei acțiuni să se termine până la 5 minute; nu ezitați să măriți perioada de timeout dacă este necesar.

-- Permiteți până la 5 minute, cu un timp de expirare de 300 de secunde, spuneți aplicației „Mail” -- Procesați toate mesajele necitite din căsuța de e-mail, setați starea de citire a fiecărui mesaj din căsuța de e-mail în care starea sa de citire = fals la adevărat -- Procesează toate mesajele necitite pe Mac-ul tău local, setează starea de citire a fiecărui mesaj din fiecare cutie poștală unde starea sa de citit = fals la adevărat -- Procesați toate mesajele necitite de pe serverul dvs. de e-mail, setați starea de citire a fiecărui mesaj din fiecare cutie poștală din fiecare cont în care starea sa de citit = fals la adevărat pauză

Î: Din motive de arhivare la locul de muncă, mi s-a cerut să imprim mii de mesaje e-mail Mail în format PDF. Cum pot automatiza asta?

Din păcate, Mail nu are suport AppleScript încorporat pentru salvarea unui mesaj ca PDF, așa că soluția nu este atât de simplă pe cât ar părea. Dar cu siguranță este posibil. Trucul este să folosiți niște scripturi UI pentru a rezolva limitarea. Mai întâi, accesați preferința Sistem de accesibilitate și asigurați-vă că Activați accesul pentru dispozitivele de asistență caseta de selectare este bifată; Scriptul UI nu funcționează decât dacă această setare este activată.

Acest script salvează mesajul deschis cel mai din față ca PDF. Pentru a procesa mai multe mesaje, puteți extinde scriptul prin includerea lui într-o buclă repetată și adăugând o anumită protecție împotriva erorilor. ( Iată un scenariu care salvează toate mesajele primite ca fișiere PDF.)

spuneți aplicației „Evenimente de sistem” spuneți procesului „Poștă” -- Aduceți e-mailul în față, setați cel mai în față la adevărat -- Selectați opțiunea de meniu Imprimare faceți clic (primul element de meniu din meniul „Fișier” din bara de meniu 1 al cărui nume începe cu „Tipărește”) fereastra de informare 1 -- Așteptați până când foaia de tipărire apare repetați până când foaia 1 există sfârșitul repetați fișa de informare 1 -- Faceți clic pe butonul PDF faceți clic pe butonul de meniu „PDF” -- Selectați Salvare ca Faceți clic pe elementul de meniu PDF (primul element de meniu din meniul 1 al butonului de meniu „PDF” al cărui nume începe cu „Salvare ca PDF”) -- Așteptați până când apare salvarea ca foaia, repetați până când foaia 1 există sfârșitul repetați foaia 1 -- Navigați la apăsarea tastei „D” de pe desktop folosind comanda în jos -- Introduceți un nume pentru apăsarea tastei PDF „PDF-ul meu.pdf” -- Faceți clic pe butonul Salvare faceți clic pe butonul „Salvare” sfârșit spuneți sfârșitul spuneți sfârșitul tellend spune

Rețineți că acest script este legat de interfața Mail și că se așteaptă să existe anumite meniuri, butoane și ferestre. Dacă Apple mută lucrurile într-o versiune viitoare de OS X, s-ar putea să fie nevoie să faceți unele ajustări la script.

Î: Când sunt la birou, îmi conectez MacBook Air la un monitor extern, pe care îl folosesc apoi ca ecran principal; Ecranul Air este în principal pentru Calendarul și Mailul meu. Mi-ar plăcea să am un script pe care să-l pot rula când ajung la serviciu, care să mute automat aceste ferestre ale aplicației pe ecranul Air și să le redimensioneze. Se poate face?

Cu siguranță. Când sunteți la birou, mutați ferestrele Calendar și Mail pe ecranul Air și poziționați-le unde doriți. Acum sunteți gata să le capturați limitele (poziția și dimensiunea). Rulați fiecare dintre următoarele scripturi în AppleScript Editor. Ei vor returna limitele în panoul inferior Rezultate; notează rezultatele.

-- Pentru a obține poziția și dimensiunea ferestrei Calendar, aplicația „Calendar” returnează limitele de afișare a ferestrei frontale
-- Pentru a obține poziția și dimensiunea ferestrei de e-mail, aplicația „Mail” returnează limitele de vizualizare a mesajelor din față și spune

Să presupunem că primul script returnează valorile {-1426, 102, -491, 930}, în timp ce al doilea revine --> {-955, 100, -7, 845}. Conectați acele numere în scriptul de mai jos. Când rulați scriptul, acesta va redimensiona și va repoziționa ferestrele în consecință. Salvați scriptul ca aplicație și trageți-l în Dock. Ori de câte ori vă aflați la birou, faceți clic pe el pentru a reseta ferestrele. Poate doriți să vă gândiți să scrieți o a doua versiune a scriptului pentru a le repoziționa atunci când utilizați singur ecranul MacBook-ului.

-- Pentru a seta poziția ferestrei Calendar și aplicația de dimensiune „Calendar” setați limitele ferestrei din față la {-1426, 102, -491, 930}final tell-- Pentru a seta poziția ferestrei de e-mail și dimensiunea aplicației „Mail” setați limitele vizualizatorului de mesaje frontale la {-955, 100, -7, 845}end spune

Aveți o problemă cu care Script Doctor v-ar putea ajuta? Trimiteți-le la [email protected].

Actualizat 29.10.12 16:45 PT pentru a corecta eroarea de editare în cauză referitor la imprimarea în fișiere PDF.

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