見出し画像

PADで自動コピペ勉強会(第1弾)④

 繰り返し作業を自動化しようとしたときに、避けては通れないのが変数です。しかし勉強会メンバーはなかなかこの変数という概念というか使い方になれることができないようでした。メンバーの雰囲気からあまり理解できていないだろうなと察してはいましたが、実際に「分からない」という声をあげてくれた人もいませんでしたので「復習してみて分からないことがあったらいつでも訊いてください」と声掛けし、1日目は終了。
 勉強会終了後も特に質問などは来ないまま2日目を迎え、時間も限られているということもあったので次に進みました。いよいよ繰り返し処理です。

さらに避けて通れない「繰り返し処理」

 前回、「未入力」フォルダの中にある5つのファイルを変数に格納するところまでできるようになりましたので、この5つのファイルを順番に起動し、必要な部分を集計ファイルにコピペし、閉じて「入力済み」フォルダに移動させれば完成です。
 この、「変数Filesに格納されているものを一つずつ順番に取り出す」ことができるアクションがFor Eachです。

Filesに格納されているアイテムを一つずつ取り出す

 このアクションの画面を見ると分かるのが、Filesに格納されている5つのファイルを一つずつ取り出し、取り出したファイルをCurrentItemという変数で表す、ということなのですが、勉強会の場ではこの理解はなかなか難しい、というのが現実でした。
 みなさん手作業でも同じようなことをしているはずなのですが、「自分のやっていることはこういうことだ」とあえて言語化して作業する人っていないですもんね。

For Eachアクションによる処理のイメージ

 Filesに格納されている5つのファイルを0番目から一つずつ取り出しますが、取り出す一つのファイルをCurrentItemと名付けます。1回目の処理はCurrentItemを開いてmoushikomiと名付け、必要な場所をコピーして集計用紙にペーストし閉じます。一通りの処理が終わると次のCurrentItemの処理に取り掛かります。次のCurrentItemはFilesの中の1番目のファイルなので、これを起動しmoushikomiと名付けます。必要な場所をコピーして集計用紙にペーストし、閉じます。これをFilesのファイル5つのファイル全部おこなう、というのがFor Eachアクションです。

For Eachを使った一連のフロー

 このフローを実行すると、「未入力」フォルダに入っているファイルを一つずつ開いて必要な部分をコピペし、コピペが終わったファイルは閉じて「入力済み」フォルダに移動させるという処理が全自動でできるようになります。

繰り返しの中身はサブフローに

 フローが出来上がりましたが、For EachとEndで挟まれているコピペ処理の部分が長くて見づらいので、これをサブフローにまとめて「コピペ部分」と名前をつけました。このサブフローを実行することで同じ処理ができますし、全体のフローの見た目がすっきりします。

サブフローを使って見た目スッキリ

 このフローさえあれば、申し込み用紙が50枚でも100枚でも必要な作業は実行ボタンを押すだけですし、もちろん途中までコピペが終わっている集計用紙に追加でコピペすることも可能です。
 VBAと違って、フローの実行中はPCを占領してしまうので別の作業をすることはできませんが、せいぜい数分のことなので実行ボタンを押してコーヒーでも淹れていれば終わってしまいます。

しかし、実際には自分の作業に応用する人は現れない

 これでメンバーはこの便利なツールを使えるようになったので、今後は同じような作業をPADを使って自動でやるようになるだろう、と思っていた私でしたが、それは幻想でしかありませんでした。なぜなら、この後PADを使う人は現れず、相変わらず延々と手でコピペを続けていたからです。
 私としては便利なツールがあるということを知り、使い方を学んだにも関わらずそれを使わないという理由がさっぱり分かりません。よっぽど手作業が大好きなのか手でやることにやりがいを感じているのかと思っていましたが、本当のところは「やってみたけどよく分からないし、これ以上勉強する気もない」「分からないことを習得する努力をしなければならないくらいなら我慢するほうを選ぶ」ということだと思います。この場合、残念ながら私にはこれ以上介入する余地はありません。

他人が行動するかどうかは他人にしか決められません


いいなと思ったら応援しよう!