こんにちは。
大学院生のGorori(@gorori_zakki)です。
以前、こんな記事を紹介しました。
【初心者】画像解析で楽しよう!大学院生がすすめるImageJでのマクロ(自動化)の組み方最近、マクロをデータ整理でも使うようになって、ミスが減り、作業時間が短縮しました。
今回、Image J 以外のソフトでもマクロを使おうと思い探してみたところ、簡単にマクロを組む方法を見つけたので、ご紹介します。
この記事では、
- マクロを使うと何ができるの?
- マクロの作り方
の2点について紹介したいと思います。
マクロを使うと何ができるの?
マクロとは、コンピューターの処理を自動化させるための機能のことを言います。
つまり、『PC上での作業を記録し、自動的に実行してくれる機能』のことです。
例えば、『実験データを整理するときに単純作業の繰り返しをするということはありませんか?』
私の場合ですと、解析データは多いときで400個近くになることもあり、手作業で名前を整理するだけでも1時間弱を要することもあります。
つまり、マクロを組む(=処理を自動化する)ということは
- 単純作業を自動化でき、楽ができる
→同じ作業を何度も繰り返していると、肉体的にも精神的にも疲れがたまってしまいます - 作業が高速化できる
→空いた時間を別のことに利用できる - 人為的なミスがなくなる
→人間ですから、必ずミスが起こります。しかし、マクロだと、最初の設定さえ間違えなければミスは起こりません
ということなんです。
マクロを使うことでコーヒーを飲んでいる間に自動的に作業を行ってくれるんです。
簡単にできる!マクロの作り方
本来、マクロを組むにはプログラミングの専門知識が必要でした。
しかし、次に紹介するソフトを使うことで、誰でも簡単にマクロを作成することができるようになっています。
必要なもの
- Windows PC
→以下の二つのソフトは、Windowsでしか動作しません - Pulover's Macro Creator
→操作した内容をマクロに変換してくれるソフト - AutoHotKey
→マクロを動かすソフト
マクロ作成の流れとしては、
実際に操作した内容をマクロとして記録→無駄な部分を編集→記録したものを繰り返し作動
という感じです。
1. 動作を記録する
上記の2つのソフト(Pulover's Macro Creator, AutoHotKey)をインストールし終えたら、まずはPulover's Macro Creatorを起動してください。
最初の画面はこのようになっております。
ここをクリックすることで、記録準備が整います。
『F9キー』→記録開始
『F10キー』→新しく記録開始
キーを押した後、記録させたい操作を、一通り行います。
記録を終了するには、『F9キー』を押してください。
2. ファイルを出力する
Pulover's Macro Creatorで記録したマクロを実行できるんですが、重くて使いづらいので、ahk形式のファイルに出力して、他のソフト(AutoHotKey)でも実行できるようにします。
『エクスポート先』→どこにファイルを出力するか選択
【エクスポート】をクリックします。
このようなファイルが出力されます。
3. マクロを編集
記録したマクロでは、自分が操作した通りに動いてしまい、操作中の無駄な動きや待ち時間が発生してしまいます。
そこで、無駄な部分を削除していきます。
#NoEnv
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
#SingleInstance Force
SetTitleMatchMode 2
#WinActivateForce
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1
Macro1:
たまに、Macro1:(マクロ名)の前に、F9などの文字が入っていることがあります。
その場合、マクロを起動しても動かなくなりますので、注意してください(F9を削除してください)。
次に、メモ帳に記載されているプログラムについて説明しますと...
項目の説明 & 削除する内容
- WinActivate, 〜 - ソフト名
→最小化・隠しているウインドウを表示する - Click, (4桁数字), 0 Left Down & Left Up
→マウスの左ボタンを押し込んだ状態(Left Down)&左ボタンを話した状態(Left Up)
→Left Down と Left Up を合わせてクリックとなる - 【削除】Click, (4桁数字), (4桁数字), 0
→マウスを移動を示す - 【削除】Sleep, (数字)
→(数字)は待機時間を示す
→私のPCの処理速度では、だいたい50を使うことが多い
『Click,〜』『Sleep,〜』は、必要のない項目ですので、削除しても構いません。
ただし、Sleep は動作によっては必要になることもあり、その時は、敢えて加えることもあります。
例えば、高性能のPCでは、動作が早いため、Sleep項目がほとんど必要ありません。
しかし、動作の遅いPCでは、次の動作に移るまで処理時間がかかるため、敢えてSleep(待機時間)を設定して、次の動作までの時間を遅らせることがあります。
ちなみに、私のPCは10年近く前のPCを使用していますので、クリック動作などをSleepでわざと遅らせています。
【例】
Sleep, (50)
どうやったら遅らせる時間が分かるの?
これは実際にマクロを動かして確認していきます。
トライアンドエラーの繰り返しです。
4. マクロを動かす
AutoHotKeyをインストールした状態で、マクロデータをダブルクリックすると、マクロが動き出します。
実際に思うような動作をしてくれる場合ですと、あとは繰り返すプログラムを入力して終わりになります。(繰り返すプログラムは後述)
しかし、多くの場合、次の動作に移る前に先に勝手に動いてしまったり、逆に動作が遅すぎたりします。
そういった場合は、「Shift + Alt + Delete」を同時に押して、「タスクマネージャー」を起動し、マクロを強制終了します。
再度、マクロの内容を調整(Sleepを増やす etc)していきます。
5. 補足情報:マクロが完成した後は...
さらに、マクロをより便利に使用する方法としては...
- 作成したマクロを繰り返し動作させたい
- ボタン一つでマクロを動作させたい
などがあります。
作成したマクロを繰り返し動作させたい
- マクロの最初に loop, (回数){ } を入力します
【100回の場合だと...】
Macro1:
loop, 100 { マクロの内容 }
Return
ボタン一つでマクロを動作させたい
- マクロファイルで、「右クリック」→「ショートカットの作成」でショートカットを作成
- 作成したショートカットファイルで、「右クリック」→「プロパティ」→「ショートカットキー」にボタンを入力
→おすすめは、ファンクションキー(F1, F2, F3 etc)に割り当てです
以上です。
マクロを使い始めてから、デスクワークのスピードが飛躍的に上がりました。
コーヒーを飲んでいる間にマクロが全てを終わらせてくれます。
単純作業で辟易している方は、ぜひ試してみてはいかがでしょうか。
おしまい