つづき
4.指揮官の修正について
入力画像、OCR読取りデータ、VASSALで必要なデータと並び順を見て、編集方法を検討する。
(1)入力画像
(2)読取りデータ
下図のように、指揮官だけのユニットの場合には、名称の次の行が空白行のために認識されない。
しかし、他のユニットと混在する場合には、名称の次の行のデータは空白になる。
また、名称と対応するデータがバラバラになる。例えば、Pernitzkiの歩兵ボーナス2は、
Strykのものである。
(3)VASSALで必要なデータと並び順
歩兵と同様に4行のデータである。
(4)編集方法
EXCELの編集シートでは、士気ボーナス以外は、次のように文字を入力する。
・データ1行目 ;歩兵ボーナス(データ無しは、空(””))
・データ2行目 ;騎兵ボーナス(同上)
・データ3行目 ;砲兵ボーナス(同上)
士気ボーナスは、砲兵ボーナスの後ろに&文字を付けて入力する。(下図参照)
この場合、&の前が空(””)なら、&の前に半角空白を入れる。
(5)VBAプログラム
データ3行目に&の文字があるか判定して転送先のデータ設定を変える。
・&なしの場合 ; 3行目のデータをそのまま転送し、4行目は空(“”)を設定する。
・&ありの場合 ; &より前のデータを3行目に、&より後のデータを4行目に設定する。
なお、&の検索にはVBAの正規表現を利用する。
下記のWEBページにお世話になりました。ありがとうございます。
(6)転送先のシート(プログラムの動作後)
次回へつづく
<個人的な感想>
VBAでも正規表現を使って文字の検索が出来るので、とても便利である。