社内SEになった。
仕事を辞めて主夫業に勤しんでいたら、知り合いから声がかかった。
1人で社内システムを作ってきたおじいさんがあと数年で定年になるから、
引き継げないかとのこと。
メインのシステムはベンダーに委託してて、そのおじいさんが作っているのは、
メインシステムのデータを加工して2次利用しているものがほとんどとのことだった。
社内SEはなんとなく楽そうなイメージがあったので、就職した。
中身を見るとどちらもかなりやばい。
VBA編
・ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。
変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。
・処理遷移がおかしい。
セルに1を入れる。そのセルのchangeイベントで処理が動くとか。
・なるべくワークシート関数で処理してる
データベースからとってきたデータを丸ごとワークシートにコピーして
if,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。
データ100件制限があったり、1関数を直すときは100行コピーしないといけない。
画面中に埋め尽くされたワークシート関数をみて途方に暮れる。
・format関数を知らない。
8桁の日付をとりたいときyear、month、day関数がワークシートにあり、
その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ
3行目でconcatenateしている
・タイマー起動
毎朝100本ぐらいのマクロが動いてる。
タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)
がんがんエラーが発生するので、マクロ設定をエラー処理対象外のエラーで中断にしないと動かない。
・遅い
textboxのchangeイベントでDBからのデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態。
DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新。
そんなつっこみどころしかないEXCELマクロが200本以上ある。
VB編
・.NET1.0
windows7や8に無理やり.netframework1.0を入れて動かしてる。
・オブジェクト名は代えない
変えられることを知らないのかもしれない
textbox100とか存在してる。
EXCEL同様変数は隠しtextboxに入れてる。
1.0なのでconfigがないのはしょうがないが、設定ファイルは固定パスのテキスト
行数で管理
・WAITがいっぱいある
試しに取ったら動かない
例外が発生するまでまわす。
ない。基本グローバル。
・クラス
ない。
・ネスト
ない。
リファクタリングのやりがいがあって良さそうな職場じゃん!笑