[AppleScript] スクリーンキャプチャの設定を変更

コピペしてすぐに使えます。

スクリーンキャプチャの様々な設定を手軽に変更できるように作成したものです。
以下の設定ができます。

  • 保存先の変更
  • 保存ファイル名を変更
  • 保存フォーマットを変更
  • ウィンドウの影を含めない
  • 最初の状態に戻す
スポンサーリンク

スクリーンキャプチャの設定を変更

display dialog "スクリーンキャプチャの設定を変更します" buttons {"キャンセル", "初期設定に戻す", "OK"} default button 3

set tmpDialog to result
set tmpBtn to button returned of tmpDialog

if tmpBtn = "初期設定に戻す" then
	try
		do shell script "defaults delete com.apple.screencapture location"
	end try
	try
		do shell script "defaults delete com.apple.screencapture name"
	end try
	try
		do shell script "defaults delete com.apple.screencapture include-date"
	end try
	try
		do shell script "defaults write com.apple.screencapture type png"
	end try
	try
		do shell script "defaults delete com.apple.screencapture disable-shadow"
	end try
	
	do shell script "killall SystemUIServer"
	return
end if

set myList to {"保存先を変更", "保存ファイル名を変更", "保存フォーマットを変更", "ウィンドウの影を含めない"}
set mySelect to choose from list myList with multiple selections allowed
set tmpText to result

if tmpText = false then
	return
end if

if tmpText contains "保存先を変更" then
	set theFolder to (choose folder)'s POSIX path
end if

if tmpText contains "保存ファイル名を変更" then
	
	
	display dialog "保存ファイル名を入力" & return & return & "※ 指定した文字列の後に日時を含めるか選択できます ※" buttons {"日時を含める", "日時を含めない"} default button 2 default answer ""
	
	set tmpDialog to result
	set tmp to result
	set tmpBtn to button returned of tmpDialog
	set fnText to text returned of tmp
end if

if tmpText contains "保存フォーマットを変更" then
	set typeList to {"jpg", "png", "tif", "bmp", "pict", "pdf", "gif", "jp2", "psd", "tga"}
	set typeSelect to choose from list typeList default items "jpg"

	if typeSelect = false then
		return
	end if
end if

-- 設定を実行
if tmpText contains "保存先を変更" then
	do shell script "mkdir -p '" & theFolder & "'"
	do shell script "defaults write com.apple.screencapture location '" & theFolder & "'"
end if

if tmpText contains "保存ファイル名を変更" then
	if tmpBtn = "日時を含めない" then
		do shell script "defaults write com.apple.screencapture include-date -boolean false"
	else if tmpBtn = "日時を含める" then
		try
			do shell script "defaults delete com.apple.screencapture include-date"
		end try
	end if
	do shell script "defaults write com.apple.screencapture name '" & fnText & "'"
end if

if tmpText contains "保存フォーマットを変更" then
	do shell script "defaults write com.apple.screencapture type " & typeSelect
end if

if tmpText contains "ウィンドウの影を含めない" then
	do shell script "defaults write com.apple.screencapture disable-shadow -boolean true"
end if

do shell script "killall SystemUIServer"

説明

最初のダイアログで[初期設定に戻す]ボタンを選択すると最初の状態に戻ります。
[OK]ボタンを押すと、次に複数選択可能なリストダイアログが開きます。
キーボードのcommandキーを押しながら、変更したい項目をすべて選択して[OK]ボタンを押すとそれぞれの設定項目が表示されるので、任意に設定してください。

処理内容としては基本的に「do shell script 」でスクリーンショットの設定変更のコマンドを投げているだけです。

これを作っておく事で手軽に切り替えができます。