担当者レベルで野良マクロを書きたくなる業務というのは、大概ややこしいのである。
引き継がれた通りにやったら、ここが10以下の時はこっちにしなきゃいけないとか言われる。
それどこに書いてあるんですかと聞くとどこそこのフォルダにテキストメモで入ってるとか言われる。
それこそ属人化の極みなのである。
慣れた人は、ああこれは10以下のパターンだからこっちの帳票だなってぱぱぱっと脳内で処理できるが、引き継がれた人はそうもいかない。
正しくマクロ化されていれば、少なくともVBEを覗けば、そこにその手順の全てが載っているということになる。
IFとFORとWHILE。GOTOさえ使わなければ、言語仕様によって強制的に構造化された手順書がそこにある。
そこまで整理されることで、上司や前の担当者にすら把握されていなかった業務手順の全体像というものが見えてきて、ここの手順は他に影響しないし大してお客様の役にたっていませんよねとか改善提案ができるのである。
そんなのわざわざマクロ化しないでも人間が読めるようにWordでまとめればいいだろ、と思うかもしれない。
しかし人間は曖昧さと空気読みが大得意で、文書でまとめるとつい厳密でない記述を残したり(こういった場合に注意する、とか。注意してどうするのか書かれない)、書かれていなくても経験とか常識で対応できてしまう。
VBAには曖昧さは通用しないので、得てしてWordでまとめたマニュアルなどより遥かに正確で抜けのない読みやすい(言語さえ読めれば)業務手順になる。
そこから正式に業務マニュアルにすることもできる。改善提案もできる。
それだけでなく正式にシステム化発注する際の要件定義書にすらなりえる。
スクリプト言語とはいえマクロが書かれているということは、既にほぼシステム化されているようなものなので、そこから仕様を書き起こして少し検討するだけでいいのだ。
要約:マクロそのものが仕様書であるので、マニュアル化は必要ないのであります!