【Jw_cad】全角英文字を半角に変換する方法

Jw_cadで図面を編集している際、全角で入力された英数字を半角に修正したい場合があります。標準機能のみで多数の文字を一括変換するのは難しいため、今回はExcel VBAとDXFフォーマットを活用して、全角文字を半角に自動変換する手法を解説します。

変換処理の仕組み

Jw_cadで扱うことができるDXFファイルは、人間が読めるテキストデータで構成されています。この性質を利用することで、Excel VBAからファイルの中身を直接読み書きすることが可能です。

全体の流れは以下のようになります。

  1. DXFファイルをテキストとしてExcelに読み込む

  2. 文字データが記述されている箇所を検索する

  3. 全角文字を半角文字に書き換える

  4. 新しいDXFファイルとして保存し直す

ここでは、元データとしてマルチテキスト(MTEXT)で作成された文字を含むDXFファイルを例に解説します。

Excel VBAによる変換手順

ExcelのVBA(マクロ)を用いて、以下の手順で変換プログラムを構築します。

1. DXFデータの読み込み

VBAの Line Input ステートメントを使用し、DXFファイル内のテキストデータを1行ずつ読み込みます。 読み込んだ内容は、Excelのワークシート(「変更前」シートなど)に順番に書き出して記録しておきます。同時に「変更後」シートにもベースとなる内容を転記します。

2. 文字列の検索と抽出

Excel上で文字のデータを検索します。 今回のデータ構造では、「MTEXT」という記述が見つかった行から数えて26行下に、実際のテキスト内容が格納されています。この規則性を利用して、変換対象となる全角文字のセルを特定します。

3. 半角への変換

対象の文字列を見つけたら、全角文字を半角に変換します。この処理にはVBAの StrConv 関数を使用します。

4. 新規DXFファイルとしての書き出し

ファイルの最後まで読み込みと変換の処理が終わったら、Print ステートメントを使用して、新しいテキストデータとしてファイル(例:テスト.dxf)を書き出します。

変換結果の確認

VBAの実行後、新しく生成されたDXFファイルをJw_cadで開きます。 元の図面で全角だった英文字が、指定通りに半角へ修正された状態で表示されます。

Jw_cad単体では手間のかかる文字の全半角変換も、Excel VBAとDXFの構造を組み合わせることで自動化が可能になります。


動画

動画で解説しました。ご参照ください。