納期が6/24の案件のため、残された時間はわずか。しかも片手間
VBAのスキルというより完成品を作成しないといけない。問題なのは片手間でやれという話。できるわけもない。
前回は暇だった、かつ難易度が高くなかったため2日で済んだが今回は難易度が高い。すでにいくつものレベルアップを遂げている。
①配列から最大値、最小値を取得する
2次元配列の予定ではあったが、検索で見つからず、3行N列だったため1次元配列*3行とした
②参照渡しを使用してメインのみでは達成しづらいコードを書く
参照渡しを今まで理解していなかったというか、渡すというもの自体を理解していなかったが、今回はそれほど難しいものを渡すわけではないので、何とかなった。何とかなるくらいにはレベルが上がっている
③命名則を使用してコードを見やすく
リーダブルコードという本をもとに、命名則を勉強した。今まではものすごく適当に名前を付けていたが、それらしくなった。コメントがなくてもある程度何に使うものかがわかる
④フォルダを開けてフォルダ名を取得する
フォルダ名のみが逐次変わるため、こうするひつようがある
⑤ ④にファイル名を追加しフルパスとして開けて、一つのブックに移動させる。
この手法は完全なものがなかった。と思ったらsheet なのかsheetsなのかで間違っていた。
参考にしたサイト様
Office TANAKA - VBA Tips
この辺りを駆使してもどうにもならない今回
①マクロと相性が悪いルーチンでないつくり。これ情報なしからやらされるの今思えばスタートからひどすぎませんか?
②前作から16倍に増えたボリューム。自分が購入してプレイするゲームならうれしいところだが…
③短納期。納品できないというのは許されていない
この3点が凶悪。あまりにルーチン要素が少なすぎるため個別対応の方が早くて無難に作れるのでは?という結論に至るがとてつもなく時間がかかる。が、③がそれを許さない。
結論
力技で作成する。すべての要求事項は達成できないため、必須部分のみまず注力して、要望が上がったら改修する。そのためには改修容易性を高めておく必要がある。
コメント