[効率化検討]ユニットデータの編集(3)

つづき

5.騎兵の修正について

 入力画像、OCR読取りデータ、VASSALで必要なデータと並び順を見て、編集方法を検討する。

(1)入力画像

(2)読取りデータ

 下図のように槍騎兵(コサック)のランサーボーナス(+3)が右のユニットに含まれる。

1つの誤認識(27がer)を除けば、全て認識できており、名称とデータの対応も出来ている。

(3)VASSALで必要なデータと並び順

 歩兵と同様に4行のデータである。

(4)編集方法

 EXCELの編集シートでは、ランサーボーナス以外は、次のように文字を入力する。

 ・データ1行目 ;射撃値または散開体形能力Sk(データ無しは、空(””))

 ・データ2行目 ;白兵戦値

 ・データ3行目 ;士気値

ランサーボーナスは、白兵戦値の後ろに+文字を付けて入力する。(下図参照)

(5)VBAプログラム

 データ3行目に+の文字があるか判定して転送先のデータ設定を変える。

・+なしの場合 ; 3行目のデータをそのまま転送し、4行目は空(“”)を設定する。

・+ありの場合 ; +より前のデータを3行目に、+より後のデータを4行目に設定する。

なお、+の検索にはVBAの正規表現を利用する(+はメタ文字なので\+で表現すること)。

(6)転送先のシート(プログラムの動作後)

次回へつづく

 

<個人的な感想>

 正規表現で苦戦した。+は”直前の文字の1回以上にマッチ”を意味するメタ文字である事に

気付かなかった。正規表現に慣れていない為、思うような検索が出来なくて悩んでしまった。

”数字1か2文字 + 数字1か2文字”を検索する為の正規表現は、以下の通りである。

【誤り】”([0-9]{1,2})+([0-9]{1,2})”

【正しい】”([0-9]{1,2})\+([0-9]{1,2})”

 

<リンク>

ブログのトップページは、こちら

バタイユゲーム情報班のホームページは、こちら