automatorでコマンドキー入力の組み合わせを自動化?
automatorでアプリケーションの
複数回でワンセットのコマンドキー入力を
行なわせるにはどうしたらいいのでしょうか
教えて下さい
例えば,mailですが
キーコマンド入力
command+6
command+A
option+command+L
をして,
自動で行ないたいのです。
automatorでアプリケーションの
複数回でワンセットのコマンドキー入力を
行なわせるにはどうしたらいいのでしょうか
教えて下さい
例えば,mailですが
キーコマンド入力
command+6
command+A
option+command+L
をして,
自動で行ないたいのです。
ちょっとまって!これ危険!
コマンド+6 が確実に実行されないで、ルールが「選択メッセージを削除」だと、全部削除なんてことになりますよ。
コマンド+6 が確実に実行されないで、ルールが「選択メッセージを削除」だと、全部削除なんてことになりますよ。
ルールがどうなっているか解りませんが、そういうこともありますね。けど、”コマンド+6 ”を押すことができるかできないかというと”できる”ということを書きたかった訳です。それと、うまく作動させるのは別の話だと思ってました。
迷惑フォルダを指定するだけなら、それをクリックして記録させるだけでいいと思います。それも記録のさせ方によってウインドウを移動すると失敗することもあるかもしれないし,記録後にウインドウを移動させてもちゃんとカーソルが追従してクリックすることもあると思います。
他にルールに
こういう設定をしておけば”ルールを適用”コマンドを使っても、全部削除されれず迷惑メールだけを選択的に削除できそうです。
余談:迷惑メールをすぐに削除したい気持ちは解りますが、後日自動削除しておく方が得策だと思います。
このメッセージは次により編集されています:お子様ランチ.
Lionでは動きません。The Action "Watch Me Do" encountered an error.になります。最後のApply Rulesが記録されません。不完全なものを無理矢理ApplicationでSaveして動かすとPointerが動き廻り酷い事になります。
Lionでテストを行ったのですか?
# Snow Leopardとは違いLionでは動かないものが増えています。例えばTextEditのHTMLの拡張子の扱い、SQLでSave Versionを読み書きするためHTML Tagの扱いが難しくなっています。無理に拡張子を弄るとSave Versionを壊したりCrashします。Xcodeも同じでHTMLの拡張子の扱いに注意しないと...
Hiro_Sさん 今回の様なSub menuのAppleScriptをご存知でしたらお教え願えると有り難いのですが...
Lionでは動きません。The Action "Watch Me Do" encountered an error.になります。
アッ、Lionでしたね。今気づきました、私はSnowLeopradでした。
ところでThe Action "Watch Me Do" encountered an errorはどこをさしているのかは不明ですが、自動記録だと記録の仕方によってエラーが起こるかもしれないです。
無理矢理ApplicationでSaveして動かすとPointerが動き廻り酷い事になります。
ということであれば、コツはマウスを通常の半分くらいのスピードで移動させて記録させます。
もしくは
全くできないのであれば、ユニバーサルアクセスの仕様変更かもしれないです。
このメッセージは次により編集されています:お子様ランチ.
お子様ランチ.さん
> 余談:迷惑メールをすぐに削除したい気持ちは解りますが...
スレ主さんからの情報がないので、私が想定した最悪の状況です。また、ご呈示の画像が完成したワークフローの提案にしか見えなかったので、こりゃ大変だと思い書き込みしました。イヤな書き方だったなと反省しております。ごめんなさい。
ぴっぴさん
> Sub menuのAppleScript
Lion 未導入なので確認ができませんが...。GUIスクリプティングはアプリケーションのバージョンアップで動かなくなる/誤動作する可能性があるので、あまりやらない方が良いと思います。現に Mail は Snow Leopard と Lion でメニュー構成が違いますね。画像感謝です!ということで、以下は iTunes の例です。脱線はご容赦を < スレ主さん
iTunes: メニュー > ファイル > ライブラリ > プレイリストを書き出し... をクリックする例
(Snow Leopard で確認済み)
1. Automatorで記録
2. 「AppleScript を実行」にドラッグ
3. AppleScript Editor
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
(* ここにペースト *)
end tell
end tell
4. set uiScript to "__この部分__" をコピー
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
"click menu item 5 of menu 1 of menu item 10 of menu 1 of menu bar item 3 of menu bar 1 of application process \"iTunes\""
end tell
end tell
5. 整形
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
tell menu 1 of menu item 10 of menu 1 of menu bar item 3 of menu bar 1
click menu item 5
end tell
end tell
end tell
6. 誤作動防止用にif分を加えてコンパイル
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
tell menu 1 of menu item 10 of menu 1 of menu bar item 3 of menu bar 1
if name of menu item 5 is in {"プレイリストを書き出し...", "Export Playlist..."} then
click menu item 5
end if
end tell
end tell
end tell
また、キーボードショートカットはこんな感じで操作できます。(実際はもっと作り込む必要があります)
これは Mail の例です。(Snow Leopard で確認済み。Lion は未確認です。)
tell application "Mail"
activate
-- コマンド+6
my key_stroke("6", {command down})
-- 選択したメールボックスを返す
get selected mailboxes in message viewer 1
-- その結果が迷惑メールボックスではない場合、falseを返して終了
if item 1 of result is not junk mailbox then return false
-- 以下省略
end tell
-- キーボードショートカットのサブルーチン
on key_stroke(k, ary)
tell application "System Events" to keystroke k using ary
delay 0.5
end key_stroke
LionではOption+Command+LはApply Rulesです。
# Mailbox: Erase Delete Items - In All Accounts はShift+Command+Deleteです。
ありがとうございます。
お教え頂いた方法は後でじっくり試します。
整形前と後は動作しました。
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
tell menu 1 of menu item 10 of menu 1 of menu bar item 3 of menu bar 1
click menu item 5
end tell
end tell
end tell
Sub menuは下記でないと動作しないのか、直接tell application "iTunes"も実験します。.
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
悩んでたので、これは本当に嬉しいです。感謝 !!!
先のスクリプト
https://discussionsjapan.apple.com/message/100639880#100639880
の -- 以下省略 の行を
my key_stroke("a", {command down})
my key_stroke("l", {command down, option down})
とすれば、「コマンド+A」「オプション+コマンド+L」となります。「コマンド+A」はまあいいとして、「オプション+コマンド+L」は Apply Rules であることを確認するコード (if xxx = "Apply Rules" then ...) が必要となります。これは Snow Leopard 環境の私には無理です。どなたかお願いします。
一番いいのは junk mailbox の中のメッセージを一括で処理
tell application "Mail"
set ary to messages in junk mailbox
repeat with i in ary
(* ここに処理内容を書く *)
end repeat
end tell
なんですが、「Automator でキーボードショートカットを」というお題からは遠くなるばかりなのでこのへんでご勘弁を。
----------
ストップマークさん
Automator の標準機能では難しいような気がします。option+command+L のルールの内容を書き込んでいただければ別の方法 (AppleScript) でできるかもしれません。(私は環境が古いのでお役に立てないと思いますが...)。それと、話を面倒くさくしてしまったようで申し訳ありません。
1つに纏めたかったのですがSelect AllがErrorになるので3つを合体しただけです。
# Automatorは重いのでAppleScriptで実行するほうが早いです。Automatorに組み込んでも動くと思います。
ApplyRules
activate application "Mail"
tell application "System Events"
tell process "Mail"
tell menu 1 of menu item "Go To favorite Mailbox" of menu 1 of menu bar item "Mailbox" of menu bar 1
click menu item 6
end tell
end tell
end tell
activate application "Mail"
tell application "System Events"
tell process "Mail"
tell menu bar 1
tell menu bar item "Edit"
tell menu 1
click menu item "Select All"
end tell
end tell
end tell
end tell
end tell
activate application "Mail"
tell application "System Events"
tell process "Mail"
tell menu bar 1
tell menu bar item "Message"
tell menu 1
click menu item "Apply Rules"
end tell
end tell
end tell
end tell
end tell
どなたかLion環境での動作確認願います。
確認方法: Mailを起動し、左ペインにメールボックス"迷惑メール"があることを確認後、
1)「コマンド+6」直後に下のスクリプトを実行 → 結果が何もなしであればOK
2)「コマンド+1」直後に下のスクリプトを実行 → false で終了であればOK
tell application "Mail"
get selected mailboxes in message viewer 1
if item 1 of result is not junk mailbox then return false
end tell
1) と 2) の結果を教えてください。
このメッセージは次により編集されています:Hiro.S
automatorでコマンドキー入力の組み合わせを自動化?