通常Google Chrome版iMacrosで作ったマクロを実行するにはiMacrosのウインドウを開いてマクロを選択しPlayボタンを押すわけです。
しかし、この方法ではタスクスケジューラから起動する事が出来ません。
そこで、タスクスケジューラからでも実行する事が出来るようにする方法を記しておきます。
htmlを作る
htmlファイルの中にマクロを書き込みます。
これをChromeで開くだけでマクロが開始されるようになります。
<html> <body onload="window.setTimeout('document.getElementById(\'criimlaunch\').click();', 1000);"> <script> var macroCode = ''; macroCode += 'PROMPT HELLO!\n'; macroCode += 'URL GOTO=http://imacros.net/\n'; macroCode += 'PROMPT BYE!\n'; function launchMacro() { try { if(!/^(?:chrome|https?|file)/.test(location)) { alert('iMacros: Open webpage to run a macro.'); return; } var macro = {}; macro.source = macroCode; macro.name = 'EmbeddedMacro'; var evt = document.createEvent('CustomEvent'); evt.initCustomEvent('iMacrosRunMacro', true, true, macro); window.dispatchEvent(evt); } catch(e) { alert('iMacros Bookmarklet error: '+e.toString()); }; } </script> <a id="criimlaunch" href="javascript:launchMacro();">Launch CR iMacros</a> </body> </html>参考URL:
http://wiki.imacros.net/iMacros_for_Chrome#Command_Line_Support
このソースのmacroCodeにマクロのコードを書き込みます。
タスクスケジューラの設定1
タスクスケジューラから動かす設定はFireFox版とほぼ同じです。
FireFox版での設定方法はタスク スケジューラでiMacrosを指定時間に動かす方法(Windows10の場合)を参照してください。
違う点は「操作」の「引数の追加(オプション)」項目にhtmlのパス以外にも「–allow-file-access-from-files」というコマンドも入れる必要があります。
--allow-file-access-from-files file:///実行するhtmlのパス
タスクスケジューラの設定2
もう一つの方法はchromeの起動時に最初に開くサイトとして登録する方法です。
まず、chromeを開き右上のを左クリックします。
メニューが出るので、これの設定を左クリックします。
新たなタブが開きますので、これの「起動時」の項目の「特定の1つのページまたは複数のページを開く」にチェックを入れて「ページを設定」を左クリックします。
するとダイアログが開くので、これに「新しいページを追加」に作ったhtmlファイルを入力して「OK」ボタンを押せば設定完了です。
追記:iMacrosの設定
最後に、このhtmlファイルで操作するには「ファイルのURLへのアクセスを許可する」にチェックも入れておく必要があります。
「ファイルのURLへのアクセスを許可する」は、まずChromeの拡張機能のページの「chrome://extensions/」に行きます。
この中のiMacros for Chromeの項目にある「ファイルのURLへのアクセスを許可する」のチェックボックスにチェックを入れて、このhtmlファイルをChromeで起動すれば1秒後、もしくは「Launch CR iMacros」と書かれたリンクを左クリックすれば、
というダイアログが表示されます。
このダイアログの「Play」ボタンをクリックすれば、このマクロが起動します。
タスクスケージューラで起動する場合は、この確認は邪魔となりますので、1度このダイアログの「Show this dialog next time」のチェックを外して「Play」ボタンをクリックしておきましょう。
これで以降は、このダイアログが起動される事が無くなるのでタスクスケージューラーで指定した時間通りに実行ができるようになります。
コメント
こちらの記事を参考にChrome版iMacrosの自動実行を試しているのですが、うまく動きません。
「Launch CR iMacros」と表示されたページが出て止まってしまいます。
「このソースのmacroCodeにマクロのコードを書き込みます。」の部分をきちんと理解できていないような気がしていますが、具体的に何を記載すればよろしいでしょうか。
今はhtmlファイルの5行目に下記のような内容を書いています。
var macroCode = ‘〇〇.iim’;
よろしくお願いいたします。
まろ様
コメントいただきありがとうございます。
この「Google Chrome版iMacrosをタスクスケジューラからでも起動する方法」のサンプルは外部のファイルを参照する事が出来るようになっていません。
var macroCode = ‘〇〇.iim’;
のようにmacroCodeの中に.iimファイルの名前ではなく、その.iimファイルの中身の命令群が入っている必要があります。
例えばサンプルのように
var macroCode = ”;
macroCode += ‘PROMPT HELLO!\n’;
macroCode += ‘URL GOTO=http://imacros.net/\n’;
macroCode += ‘PROMPT BYE!\n’;
と1行毎に命令と\nの改行コードが入っていれば上手く行くかと思います。
あれこれ様
ご回答ありがとうございました。
また、返信が遅くなりまして申し訳ございません。
教えていただいた通り、iimファイルの中身の命令群をmacroCodeに入れたつもりなのですが、結果は変わりませんでした。
最終的にはタスクスケジュールを利用してiMacrosを自動実行したいのですが、その前に考え方に間違いがないか教えてください。
作成したHTMLファイルをタスクスケジュールを利用せず、単純にChromeで開けば、iMacrosが実行されるということでよろしいでしょうか。
ちなみにですが、サンプルコードを開けばhttp://imacros.net/に遷移することになると考えておりますが、私の環境では遷移しません。
よろしくお願いいたします。
まろ様
コメントいただきありがとうございます。
まず、考え方に間違いは無いかと思われます。
環境を新たに用意し調べてみましたが、どうやら「追記:iMacrosの設定」で書いた部分の処理をしておく必要があるようでした。
参考になれば幸いです。
あれこれ様
ご回答ありがとうございます。
「追記:iMacrosの設定」の通りにしたところ、無事実行することができました。
いろいろとご確認いただきまして、ありがとうございました。
まろ様
コメントいただきありがとうございます。
こちらとしても表記漏れが修正できて助かりました。
ありがとうございました。