11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Macでパスワードをコピペで入力できないとき自動で入力させる (AppleScript)

Last updated at Posted at 2014-04-18

たまに、パスワード欄にコピペでズルして入力できないソフトがあったりします。
AppleScriptを使えばキーボード入力をエミュレートできるので、コピペ不可でも自動入力できます。
(色んな意味で自己責任でお願いします!)

準備

「AppleScriptエディタ」の設定画面で「メニューバーにスクリプトメニューを表示」を有効にしておきます。
(ついでに、「コンピュータスクリプトを表示」を無効にしてます。)
スクリーンショット 2014-04-18 14.54.14.png

右上にスクリプトメニューが表示されます。
スクリーンショット 2014-04-18 14.55.10.png

「スクリプトフォルダを開く」をクリックし、開いたフォルダの中にAppleScriptを保存すれば、上の画像の「input_pass」みたいに表示され、クリックするだけで即実行可能になります。

スクリプト作成

AppleScriptエディタを開き、以下のスクリプトをコピペしてスクリプトフォルダに保存します。

input_pass.scpt
set strOfClip to clipboard info for string

if strOfClip is not {} then -- クリップボードの中身が文字列であれば実行
	set clip to get the clipboard
	
	if clip contains " " then
		display alert "スペースを含む文字列は入力できません。"
	else
		tell application "System Events"
			key code 102 -- 英数にしておく (USキーボードでも可能らしい)
			
			set chars to characters of clip
			
			repeat with char in chars
				delay 0.1
				keystroke char
			end repeat
			
			beep
		end tell
	end if
end if

実行

パスワードをコピーし、入力したいテキストボックスに移動した後、スクリプトメニューからこのスクリプトを実行するだけで自動入力されます。

試しに以下の文字列をコピーしてテキストエディタとかに自動入力させてみましょう。
Kmsbw@m;,2MU$dzyQX=amry43jqc29
(自動生成しましたが使ってない全く意味のない文字列です)

注意

バックスラッシュは「¥」と入力されます。

スペースを含む文字列だとなぜかことえりの日本語入力がONになってしまうのではじいてます。
普通にキーボードからスペースを入力しても、日本語入力にはならないのに、なぜ。
パスワードにスペース使わないと思うので大丈夫かと思いますけど。
keystroke spaceってやっても同じ結果でした。(当たり前か)

あと、日本語が含まれてると"a"が入力されるみたいです。
とりあえず自分がやりたかったことは出来たので、エラーチェックとかはしてません。
テキストエディタ等で試してから使いましょう。

なんかマズいとこあったら指摘していただけるとありがたいです!

あと、Virtual Boxで使おうとすると、記号とか含んでなくてもなぜかカーソルがあらぬところへ移動します。
原因は分かりません。(誰か教えてください。)

その他のやり方

文字列を選択してクリックしたまましばらく待つとカーソルが矢印に変わります。
そうすると文字列をドラッグアンドドロップでコピーできるので、目的のテキストボックスにコピーできることがあります。
(何か忘れたけどこれでいけたソフトがあった)

参考

サンプルのページ
GUIスクリプティングで使いたくなる道具 - ザリガニが見ていた...。
わかばマークのMacの備忘録 : Quicksilver/ 「英数」入力でQSを呼び出す
display dialogとdisplay alertの違い - ザリガニが見ていた...。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?