automatorでコマンドキー入力の組み合わせを自動化?
automatorでアプリケーションの
複数回でワンセットのコマンドキー入力を
行なわせるにはどうしたらいいのでしょうか
教えて下さい
例えば,mailですが
キーコマンド入力
command+6
command+A
option+command+L
をして,
自動で行ないたいのです。
automatorでアプリケーションの
複数回でワンセットのコマンドキー入力を
行なわせるにはどうしたらいいのでしょうか
教えて下さい
例えば,mailですが
キーコマンド入力
command+6
command+A
option+command+L
をして,
自動で行ないたいのです。
訂正
確認方法: Mailを起動し、左ペインにメールボックス"迷惑メール"があることを確認後、
Command+1: Inbox
Command+2: Sent
当方はこれしかありませんのでお役に立てないかも知れませんが、Commandで切り替え直後にAppleScriptを実行すると全面にあったMail.appが後ろになるだけです。
アイディアだけで他のもろもろの弊害を無視するなら、他にもフォルダアクションで削除することも可能かもしれないし一番簡単そう。
Command+6ってどんな状況でもちゃんと動くのかな?というのが最初から疑問でした。
質問者さんのアイディア倒れにならないといいのですが、質問者さんがどんな状況でCommand+6を押しているのかずっと知りたかったです。
一応各論併記と言うことで参考意見を書いておくと、QuicKeys X4 を使う、という選択肢もあります。有料ソフトですが、面倒くさいことは不要ですし、キーストローク、メニュ選択、一時停止などのイベントを自由に設定でき、条件分岐も簡単です。
http://startly.com/products/quickeys/mac/4/
僕は重宝しています。
Automatorの作り方は...
1. Automatorを起動して、右: Choose a type for your document: Applicationを選びChooseをClickする。
2. 左・パネ: Action - Utilities - Run AppleScriptをDouble-Clickする。
3. activate... から最後のend tellをCopyする。
4. 右: on run から end runを消しProgramをPasteする。
5. 右上: ハンマーをClickする。
6. File - Save…を選ぶ。
7. Save As: ApplyRules
Where: Desktop
File Format: Application # 重要
SaveをClickする。
AppleScriptの作り方は...
1. AppleScript Editorを起動する。
2. activate... から end tellをCopyする。
3. ハンマーをClickする。
4. File - Saveを選ぶ。
Save As: ApplyRules
Where: Desktop
File Format: Application # 重要
SaveをClickする。
テストしていただきありがとうございます。不明な点を聞きながらスクリプトを書こうかとも思ったんですけど、やはり確認環境がないのはリスキーと感じたので、やめておくことにしました。
では、みなさん良いお年を。
Commandだと記憶してくれますね。実行はしているようですがMail.appの終了が遅くなります。
-------------------
同じ方法でSafari 5.1.2のRemove All Website DataをAutomatorで作ったのですが、Safariを起動した場合と起動したままで実行を試したり、条件が違うPrivate Browsingなどで実行するとThe action "Watch Me Do" encountered an error.になります。Playback Speedを8位だとやや安定するのですが...
AppleScriptのほうが安定しているのですが、Preferencesを開き、Remove All Website DataをClickして、Remove NowをClick、PreferencesをCloseする方法が分かりません。
SafariのHistoryとCacheを消去するAppleScriptは非常に安定して確実に実行してくれます。Disable JavaScriptとUser AgentをInternet Explorer 7.0もAppleScriptで問題ないです。Shell ScriptでFlash Cookieを全てOFFにするのも便利でFlash Player.pluginとflashplayer.xptLastのみで動きます。
書き忘れましたがPrivate BrowsingをトグルでON/OFFするAppleScriptも作りました。Script Menuから実行可能です。FirefoxのPrivate BrowsingはSafariの様に頻繁には使いませんが作ってあります。
SafariのRemove All Website DataをAppleScriptで作りたいのですが、Preferencesを開き、Privacy tabをClickする処まで出来ましたがRemove All Website Data…をClick出来ません。何方かお教え願えるとありがたいのですが…
activate application "Safari"
tell application "System Events"
tell process "Safari"
click menu item "Preferences…" of menu 1 of menu bar item "Safari" of menu bar 1
click button "Privacy" of tool bar 1 of window 1 -- ここまではOK
click button "Remove All Website Data…" -- Clickできない
click button "Remove Now"
close "Preferebces"
end tell
end tell
# AutomatorでRemove All Website Dataを作りましたがPrivate Browsing, Safariを起動して、Safariを起動中などやApple SiteでiPhoneやiPadなどの宣伝が自動実行されるとErrorになってしまうので使い物になりません。
Safari - Develop - Show Web Inspector: ResourcesのWeb Storageを綺麗に消すことが出来る便利なHTMLを作りました。
launchd.plistでFlash Cookiesを消去するというアイデアを見つけ、早速、$HOME/Library/Safari/DatabasesとLocalStoargeの中身を消すlaunchd.plistを作りLaunchAgentsに入れて運用を決める為の実験中です。DatabasesのほうはSafari: Preferences - AdvancedのDatabase storage: Noneなので書き込みはしませんが…
勿論、Flash Cookiesの監視をするlaunchd.plistも作りました。Flash Playerの設定は全てOFFですので$HOME/Library/Preferences/Macromedia/Flash Player/#SharedObjects/8x/には何も書き込みをされませんが、極まれに書き込む輩がいるので監視をする意味で実行します。設定済みのsettings.solと取り替え、不要なPreferencePane, BOM, PLIST, LOGを消去するShell Scriptの実行でFlash Cookiesの設定を処理してしまいます。
Console.logを見ると10秒毎に実行されるのは五月蝿いですが健気なとこを汲んで良しとします。
1/7/12 12:50:43.728 AM com.apple.launchd.peruser.501: (org.localstorage) Throttling respawn: Will start in 10 seconds
1/7/12 12:50:43.728 AM com.apple.launchd.peruser.501: (org.flash.Cookies) Throttling respawn: Will start in 10 seconds
# SafariでSiteを覗かなければ動かないようです。
User Agentに関する面白いSiteを見つけました。HTMLでUser AgentをCheckするのも作り、Internet Explorer 7.0, Firfox 4.0.1, Safari 5.0.6に偽装するAppleScriptを作りました。Defaultに戻すが違うTABを使うかSafariを再起動しない限りBrowserの偽装を続けられTABごとに偽装可能です。
> Remove All Website Data…をClick出来ません。
https://discussionsjapan.apple.com/message/100639879#100639879
↑この方法でできると思います。(Automator で記録 → AppleScript を実行にドラッグ → __省略__)
ということで、こんな感じでどうでしょうか? Snow Leopard で確認。Lion 未確認です。
set t to 0.5
try
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
click menu item "Preferences…" of menu 1 of menu bar item "Safari" of menu bar 1
delay t
tell application "Safari" to set win_id to id of window 1
tell window 1
click button "Privacy" of tool bar 1
delay t
try
tell group 1 of UI element 2 of row 1 of table 1 of UI element 1 of scroll area 1 of group 1 of group 1
click button "Remove All Website Data…"
end tell
delay t
click button "Remove Now" of sheet 1
delay t
end try
end tell
end tell
end tell
tell application "Safari" to close (windows whose id is win_id)
on error err_msg
return err_msg
end try
ありがとうございます。Lionで動きました。Error Messageが出るようになってるのは嬉しいです。
# Private Browsing, Safariを起動して、Safariを起動中でも動作します。
# AutomatorでRemove All Website Dataを作りましたがPrivate Browsing, Safariを起動して、Safariを起動中などやApple SiteでiPhoneやiPadなどの宣伝が自動実行されるとErrorになってしまうので使い物になりません。
Lionではダメでしょうが、SnowLeopradですとプライベートブラウズ中でもAutomatorで動きました。
ちなみにAutomatorの自動記録の正体は自動記録のアクションをコピーするとアップルスクリプトが現れたりしてましたからアップルスクリプトだと思います。
Safariを選択
環境設定を呼び出し
一般ツールボタンを初期値として設定。
プライバシーを選択
終わり。
とりあえず、動かせないか、動かせるというと、なんとかできたということだけです。
私のAutomatorの使い方は、とりあえず不便な時、チョコチョコと作って使い終わったらゴミ箱へ捨てるが基本です。
あとは、Macから離れているとき1時間以上かかる処理を連続させるのを毎日行わせているぐらいです。
追記:一番下のアクションは、タブで選択しリターンキーで決定してます。
Lionではダメでしょうが、SnowLeopradですとプライベートブラウズ中でもAutomatorで動きました。
私もSnow Leopardで同じAutomatorを作って試しましたがSnow Leopardだとスムーズで失敗は無かったです。
Lionだと少し環境が違うとErrorになる確率が高いです。SafariのHome Pageがwww.apple.com/startpage/なのでAutomatorで何回か実験を繰り返すとJavaScriptが動きIPhoneなどの宣伝が始まりErrorになってしまいます。
AppleScriptでMenuや設定が弄れるのは便利です。Shell Scriptだとdefultsで弄るしかなく限界があります。出来るだけShell Scriptを使い、AppleScriptでしか出来ない事はAppleScriptを利用したい。でもAppleScriptは詳しくないのでError処理が行えないのです。
automatorでコマンドキー入力の組み合わせを自動化?