🐥

AppleScriptの入力画面で英数モードにする

2024/06/18に公開

AppleScriptで数値を入力する画面があり、かなモードで実行すると入力時に全角の数字となってしまい英数モードにして打ち直すことがあったので、実行時に強制的に英数モードにす方法を調べたのでメモとして残します。

日本語入力ソースを切り替える

on input_source(lang)
	-- 事前準備として、スクリプトエディタにキー操作の送信を許可するため
	-- 環境設定:「セキュリティとプライバー」のAccessibilityに「Script Editor」を加える
	-- キー入力を英数にする
	tell application "System Events"
		if lang = "en" then
			key code 102 -- 英数
		else if lang = "jp" then
			key code 104 -- かな
		end if
	end tell
end input_source

入力画面の前に日本語入力ソース切り替えを呼びます。

-- キー入力を英数にする
my input_source("en")

set dialogTitle to "百万円単位の数字を分かりやすく変換する"
set textField to display dialog "数値を入力してください" with title dialogTitle default answer ""

事前準備として、スクリプトエディタにキー操作の送信を許可するため、環境設定の「セキュリティとプライバー」のAccessibilityに「Script Editor」を加える必要がありました。
そうしないとエラーが出ます。

「スクリプトエディタにはキー操作の送信は許可されません。」

Discussion