項目名と桁数を表に並べておけば、ボタンを押すだけ。
CSVを、桁のそろった固定長のテキストファイルに変換するExcelマクロのコード全文です。
設定は3分で簡単。コードを貼るだけなので、マクロを書いたことがなくても大丈夫です。

■ これは汎用版です(ご購入前に必ずお読みください)
そのまま使えるコードをお渡しするものです。
御社の取込先に合わせた定義の作成や、下の「できないこと」への対応は含みません。
ご購入後の個別カスタマイズ対応もお付けしていません。
「うちの仕様でも使えるか知りたい」という場合は、プロフィールからご相談ください。
■ 動作環境(ここだけご確認ください)
・Windows版のExcelが必要です。Mac版のExcel、スマホ・タブレットでは動きません。
・Excelのマクロ(VBA)を使います。マクロ有効ブック(.xlsm)で保存していただきます。
(貼り付けから保存までの手順は、画像つきで載せています)
・会社のパソコンでは、マクロの実行が止められていることがあります。
その場合は動かせませんので、先に管理されている方へご確認ください。
・追加ソフトのインストールは不要です。インターネットにもつながずに動きます。
■ できること
・「定義」シートに、項目名と桁数を左から順に書くだけ
開始位置は自動で出るので、仕様書と見比べられます
・桁は「バイト」で数えて埋めます(全角2・半角1)。全角が混ざってもずれません
Shift_JIS と UTF-8(全角3バイト)の両方で書き出せます
・数字は前を0、文字は後ろを空白で埋めます。項目ごとに「前を空白」なども選べます
Excelで「000123」が「123」になったCSVでも、6桁なら「000123」に戻ります
・仕様書の「予備」「FILLER」は、CSVから読まずに空白で埋められます
・" で囲まれた項目・項目の中のカンマも読めます
・「試しに変換」で先頭100件をシートに出して、桁がそろっているかすぐ確認
・長すぎる値・数字でない値・Shift_JISで書けない文字は「エラー行」シートへ
エラーが1件でもあれば、ファイルを作りません(足りないファイルを渡さないため)
・10万件(約6MB)で11秒ほど(筆者のパソコンで計測)

■ できないこと
・1つのファイルに、項目の並びがちがう行を混ぜて作る形
(ヘッダー行・明細行・トレーラー行で項目がちがう、など)
明細の行だけを作ります。ヘッダー・トレーラーは付けられません
・パック10進数など、文字ではないデータを書き出すこと
・EBCDIC(汎用機の文字コード)で書き出すこと
・固定長からCSVを作る(逆向き)は、この記事には入っていません
別の記事「固定長TXTをCSVに変換」で出しています(同じ定義表がそのまま使えます)
■ お渡しするもの
この記事の本文です。VBAコード全文と、貼り付け手順・使い方・
うまくいかないときの見方を載せています。ファイルの添付はありません。
Excelにコードを貼るだけ。使えるようになるまで3分です。
設定シートと定義シートは自動で作られます。あとは仕様書の項目名と桁数を写すだけです。
この記事は次の順で進みます。
【1】はじめに
【2】こんな作業を、ボタン1つに変えます
【3】固定長で、つまずきやすい3つ
【4】使えるようにするまで(3分)
【5】Alt + F8 に出てくる5つについて
【6】使い方
【7】結果の見方
【8】うまくいかないときは
【9】コード
【10】逆向きのコード・もっとこんなことをしたい場合
項目名と桁数を表に並べておけば、ボタンを押すだけ。
CSVを、桁のそろった固定長のテキストファイルに変換するExcelマクロのコード全文です。
設定は3分で簡単。コードを貼るだけなので、マクロを書いたことがなくても大丈夫です。
■ これは汎用版です(ご購入前に必ずお読みください)
そのまま使えるコードをお渡しするものです。
御社の取込先に合わせた定義の作成や、下の「できないこと」への対応は含みません。
ご購入後の個別カスタマイズ対応もお付けしていません。
「うちの仕様でも使えるか知りたい」という場合は、プロフィールからご相談ください。
■ 動作環境(ここだけご確認ください)
・Windows版のExcelが必要です。Mac版のExcel、スマホ・タブレットでは動きません。
・Excelのマクロ(VBA)を使います。マクロ有効ブック(.xlsm)で保存していただきます。
(貼り付けから保存までの手順は、画像つきで載せています)
・会社のパソコンでは、マクロの実行が止められていることがあります。
その場合は動かせませんので、先に管理されている方へご確認ください。
・追加ソフトのインストールは不要です。インターネットにもつながずに動きます。
■ できること
・「定義」シートに、項目名と桁数を左から順に書くだけ
開始位置は自動で出るので、仕様書と見比べられます
・桁は「バイト」で数えて埋めます(全角2・半角1)。全角が混ざってもずれません
Shift_JIS と UTF-8(全角3バイト)の両方で書き出せます
・数字は前を0、文字は後ろを空白で埋めます。項目ごとに「前を空白」なども選べます
Excelで「000123」が「123」になったCSVでも、6桁なら「000123」に戻ります
・仕様書の「予備」「FILLER」は、CSVから読まずに空白で埋められます
・" で囲まれた項目・項目の中のカンマも読めます
・「試しに変換」で先頭100件をシートに出して、桁がそろっているかすぐ確認
・長すぎる値・数字でない値・Shift_JISで書けない文字は「エラー行」シートへ
エラーが1件でもあれば、ファイルを作りません(足りないファイルを渡さないため)
・10万件(約6MB)で11秒ほど(筆者のパソコンで計測)
■ できないこと
・1つのファイルに、項目の並びがちがう行を混ぜて作る形
(ヘッダー行・明細行・トレーラー行で項目がちがう、など)
明細の行だけを作ります。ヘッダー・トレーラーは付けられません
・パック10進数など、文字ではないデータを書き出すこと
・EBCDIC(汎用機の文字コード)で書き出すこと
・固定長からCSVを作る(逆向き)は、この記事には入っていません
別の記事「固定長TXTをCSVに変換」で出しています(同じ定義表がそのまま使えます)
■ お渡しするもの
この記事の本文です。VBAコード全文と、貼り付け手順・使い方・
うまくいかないときの見方を載せています。ファイルの添付はありません。
Excelにコードを貼るだけ。使えるようになるまで3分です。
設定シートと定義シートは自動で作られます。あとは仕様書の項目名と桁数を写すだけです。
この記事は次の順で進みます。
【1】はじめに
【2】こんな作業を、ボタン1つに変えます
【3】固定長で、つまずきやすい3つ
【4】使えるようにするまで(3分)
【5】Alt + F8 に出てくる5つについて
【6】使い方
【7】結果の見方
【8】うまくいかないときは
【9】コード
【10】逆向きのコード・もっとこんなことをしたい場合