Applescript общего назначения в повседневной офисной работе

в 10:27, , рубрики: apple, applescript, mac os x, высокая производительность, офис дома, продуктивность работы, метки: , ,

Хотелось бы поделиться собственными наработками нескольких решений Applescript, применение для которым может найти буквально каждый, а заодно услышать примеры других похожих универсальных решений «общего назначения». Оговорюсь, что запускаю я скрипты через горячие клавишы, привязав кнопки к запуску нужных скриптов через Quicksilver, эта привязка занимает 5 секунд.

Итак, из таких скриптов общего назначения, которые подойдут буквально каждому вне зависимости деятельности, я создал следующие.
1. Оправить выделенный файл по почте с нужной темой письма, нужным текстом письма и нужному получателю:

property Myrecipient : "ОТПРАВИТЕЛЬ"
property mysubject : "ТЕМА"
property EmailBody : "ТЕКСТ"


on run
	tell application "Finder"
		set sel to (get selection)
	end tell
	new_mail(sel)
end run

on open droppedFiles
	new_mail(droppedFiles)
end open

on new_mail(theFiles)
	tell application "Mail"
		set newMessage to make new outgoing message with properties {visible:true, subject:mysubject, content:EmailBody}
		tell newMessage
			make new to recipient with properties {address:Myrecipient}
			tell content
				repeat with oneFile in theFiles
					make new attachment with properties {file name:oneFile as alias} at after the last paragraph
				end repeat
			end tell
		end tell
		activate
	end tell
end new_mail

2. Открыть нужную папку:

tell application "Finder"
	activate
	open folder "ПАПКА" of folder "НАДПАПКА" of folder "ПОЛЬЗОВАТЕЛЬ" of folder "Users" of startup disk
end tell

3. Сделать напоминание из выделенного письма:

tell application "Mail"
	using terms from application "Mail"
		set selectedMails to selection
		set theMessage to first item of selectedMails
		set theBody to "message:%3C" & message id of theMessage & "%3E"
		set theSubject to the subject of theMessage & " (From " & the sender of theMessage & ")"
		tell application "Reminders"
			set theList to list "Inbox"
			set newToDo to make new reminder with properties {name:theSubject, body:theBody, container:theList}
		end tell
	end using terms from
end tell

4. Покрасить письмо в, к примеру, красный цвет:

tell application "Mail"
	set maillist to selection
	repeat with i from 1 to number of items in maillist
		set this_item to item i of maillist
		if class of this_item is message then
			set background color of this_item to red
			-- other colors are
			-- gray / green / orange / red
		end if
	end repeat
end tell

Горячие клавишы на запуск мне показалось удобнее всего делать через Alt — для «пансистемных» обращений она фактически свободна, в то время как на Cmd висит много базовых функций внутри приложений, а на Ctrl — опять-таки многое создается кастомного внутри приложений. А тут alt+r — отправил почту в reminders например.

Был бы очень рад увидеть в комментариях какие-нибудь идеи скриптов, которые могли бы пригодиться для рутинных операций вне зависимости от рода деятельности.

Автор: activeplum

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js