2020年10月18日日曜日

正規表現 両端に付け足し 変数みたいに使える。 と、 ついでに Excelの長い数値 を扱うときは・・・でも。=をJANコードの前に入れてもインポート時、指数表示に戻る時があるから使わない方が無難

ExelのCSVファイルを作る時、JANコードなどの桁数の多い数値はExcelを閉じたときに指数表示になってしまい、その時に一部データが0になってしまう。
そうなると、元に戻らない。

その時は、そうなる前に(Excelを保存するまえに)
"JANコードの数値"
とダブルクオーテーションではさんでやると、JANコードの数値が文字列として扱われるから、そのまま文字として保存できる。
csvファイルをエクセルマクロで置換してやるか、

Excelで開ける前に何かのエディタで、
例えば秀丸の正規表現の置換で、例えばcsvの表でjanコードの前にJマークが入っていれば

,J,4959999999999,

,J,="4959999999999"
に変えてやる。

秀丸のダイアログから置換するなら、検索窓に
,J,(.............),
置換窓に
,J,"\1", を入れて全置換する。

秀丸のマクロでやるなら
replaceall ",J,(.............),", ",J,=\"\\1\",", regular;
になる。
(.............)の中の文字を\1で表せる。
両端に何かを付け足したいときにこの正規表現は便利。
\1が変数みたいに使える。

0 件のコメント:

コメントを投稿