Spør Script Doctor: Løse Mail-problemer

click fraud protection

AppleScript er et flott verktøy for å automatisere appene du bruker daglig på din Mac—hvis du kan finne ut den riktige koden. Vi er her for å hjelpe: Vi har bedt skript- og Automator-ekspert Ben Waldie om å løse noen leserproblemer ved å bruke AppleScript. Tanken er ikke bare å gi spesifikke løsninger for spesifikke problemer, men også å demonstrere noen generelle prinsipper og gi eksempler på skript som du med litt fiksing kan tilpasse for å løse en haug med andre problemer også. Først ut: Noen spørsmål om Mail. Start AppleScript Editor (/Applications/Utilities) og følg med.

Spørsmål: Jeg har tonnevis av postboksmapper i Mail, noen av dem er nestet flere nivåer dypt. Gjennom årene har jeg lagt inn tusenvis av meldinger i dem, noen av dem har jeg aldri merket som lest. Er det en måte å gå gjennom alle disse mappene og merke alle meldingene som lest?

Absolutt. Du vil fortelle Mail om å angi lesestatusattributtet for hver uleste melding i innboksen, lokale postbokser og postbokser på e-postserveren til

falsk. Vær imidlertid forberedt: Avhengig av antall meldinger og postbokser du har, kan denne prosedyren ta litt tid å kjøre. Og siden individuelle AppleScript-kommandoer tidsavbrutt hvis de ikke fullføres innen 2 minutter, kan du også få en feilmelding. Derfor er det en god idé å legge ved manuset ditt i en tidsavbrudd for å forhindre slike feil. Skriptet nedenfor lar hver handling fullføres i opptil 5 minutter; Øk gjerne timeout-perioden om nødvendig.

--Tillat opptil 5 minutter med en tidsavbrudd på 300 sekunder fortell applikasjonen "Mail" -- Behandle alle uleste meldinger i innboksen sett lesestatus for hver melding i innboksen hvor dens lesestatus = usann til sann -- Behandle alle uleste meldinger på din lokale Mac satt lesestatus for hver melding i hver postboks der dens lesestatus = usann til sann -- Behandle alle uleste meldinger på e-postserveren din satt lesestatus for hver melding i hver postboks i hver konto der dens lesestatus = falsk til sann end tellend pause

Spørsmål: Av arkiveringsgrunner på jobben har jeg blitt bedt om å skrive ut tusenvis av e-postmeldinger i e-post til PDF-format. Hvordan kan jeg automatisere det?

Dessverre har ikke Mail innebygd AppleScript-støtte for å lagre en melding som PDF, så løsningen er ikke så enkel som den kan virke. Men det er definitivt mulig. Trikset er å bruke litt UI-skripting for å omgå begrensningen. Gå først til systempreferansen for tilgjengelighet, og kontroller at Aktiver tilgang for hjelpemidler avkrysningsboksen er valgt; UI-skripting fungerer ikke med mindre denne innstillingen er slått på.

Dette skriptet lagrer den fremste åpnede meldingen som en PDF. For å behandle flere meldinger kan du utvide skriptet ved å pakke det inn i en gjentakelsesløkke og legge til noe feilbeskyttelse. ( Her er et manus som lagrer alle innboksmeldinger som PDF-er.)

fortell applikasjonen "Systemhendelser" fortell prosess "Mail" - Bring e-posten foran satt foran til sann - Velg Skriv ut menyelement klikk (første menyelement i menyen "Fil" på menylinje 1 hvis navn begynner med "Skriv ut") fortell vindu 1 -- Vent til utskriftsarket vises gjenta til ark 1 eksisterer slutt gjenta fortell ark 1 -- Klikk på PDF-knappen klikk på menyknappen "PDF" -- Velg Lagre som Klikk på PDF-menyelementet (første menyelement i meny 1 på menyknappen "PDF" hvis navn begynner med "Lagre som PDF") -- Vent til arket Lagre som vises gjenta til ark 1 eksisterer, slutt gjenta fortell ark 1 -- Naviger til skrivebordets tastetrykk "D" ved å bruke kommandoen ned -- Skriv inn et navn for PDF-tastetrykket "Min PDF.pdf" -- Klikk på Lagre-knappen klikk på knappen "Lagre" end tell end tell end tellend tellend fortelle

Husk at dette skriptet er knyttet til Mails grensesnitt, og at det forventer at visse menyer, knapper og vinduer eksisterer. Hvis Apple flytter rundt på ting i en fremtidig versjon av OS X, må du kanskje gjøre noen justeringer i skriptet.

Spørsmål: Når jeg er på kontoret, kobler jeg MacBook Air til en ekstern skjerm, som jeg deretter bruker som min primære skjerm; Air-skjermen er hovedsakelig for min kalender og e-post. Jeg vil gjerne ha et skript som jeg kan kjøre når jeg kommer på jobb som automatisk flytter disse programvinduene til Air-skjermen og endrer størrelsen på dem. Kan det gjøres?

Sikkert. Når du er på kontoret, flytt kalender- og e-postvinduene til Air-skjermen og plasser dem der du vil ha dem. Nå er du klar til å fange grensene deres (posisjon og størrelse). Kjør hvert av følgende skript i AppleScript Editor. De returnerer grensene i den nedre resultatruten; noter deg resultatene.

-- For å få kalendervinduets posisjon og størrelse fortell applikasjonen "Kalender" returgrenser for frontvindusenden fortell
-- For å få postvinduets posisjon og størrelse, fortell applikasjonen "Mail" returgrenser for fremre meldingsvisning.

La oss si at det første skriptet returnerer verdiene {-1426, 102, -491, 930}, mens den andre kommer tilbake --> {-955, 100, -7, 845}. Plugg disse tallene inn i skriptet nedenfor. Når du kjører skriptet, vil det endre størrelsen og omplassere vinduene tilsvarende. Lagre skriptet som et program, og dra det til Dock. Når du er på kontoret, klikker du bare på det for å tilbakestille vinduene. Du vil kanskje vurdere å skrive en andre versjon av skriptet for å flytte dem når du bruker MacBook-skjermen alene.

-- For å angi posisjonen til kalendervinduet og størrelsen på applikasjonen "Kalender", sett grensene for frontvinduet til {-1426, 102, -491, 930}end fortell-- For å angi posisjonen til e-postvinduet og størrelsen på applikasjonen "Mail" setter du grensene for fremre meldingsvisning til {-955, 100, -7, 845}slutt fortelle

Har du et problem som Script Doctor kan hjelpe med? Send dem til [email protected].

Oppdatert 29.10.12 16:45. PT for å rette den aktuelle redigeringsfeilen angående utskrift til PDF-filer.

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