固定長ファイル・可変長ファイルを区切るExcelツール

他システムとのインターフェース(以下、IF)ファイルを確認する際に、良く使っているツール。

固定長ファイル・可変長ファイルを項目ごとに区切って、1項目1セルに表示する。
恐らくみんな似たようなものを作っているのではないだろうか。

番外として改行コード無しの固定長ファイルにサクラエディタで改行コードを付与する方法も紹介します。

CONTENTS

  1. 使用するソフト
  2. 対象とするファイル形式の種類
  3. IFファイル具体例
  4. ツールのフォーマット作成
  5. 固定長ファイル用のツール
  6. 可変長ファイル用のツール
  7. ※番外 固定長ファイル(改行コードなし)の場合

スポンサーリンク



1.使用するソフト

  • Microsoft Office Excel
  • sakuraエディタ
    ※固定長ファイル(改行コードなし)でのみ使用

2.対象とするファイル形式の種類

  • 固定長(改行コードあり)
  • 可変長
  • 固定長(改行コードなし)

3.IFファイル具体例

IF仕様書 例

連番 項目名 項目長 編集仕様 備考
1 商品コード X 4 商品TBLの商品コードをセット
2 商品名 N 20 商品TBLの商品名をセット
3 原価 9 11 商品TBLの原価をセット
4 売価 9 7 商品TBLの売価をセット

固定長ファイル 例

IF仕様書を基に用意した固定長ファイル例

可変長ファイル 例

IF仕様書を基に用意した可変長ファイル例

固定長ファイル(改行コードなし) 例

IF仕様書を基に用意した固定長ファイル(改行コードなし)例

4.ツールのフォーマット作成

IF仕様書をもとに、ツールの基となるフォーマットを用意する。

5.固定長ファイル用のツール

ツールの作成

用意しておいたツールの基になるエクセルを開き、C8セルに数式「=MIDB($B8,C$5,C$4)」を入力する。

C8セルをコピーして、必要な場所を選択して貼り付ける。

使い方

確認したいファイルを開き、全選択(Ctrl + A)してコピーする。

用意したツールを開き、B列にコピーした内容を張付ける。

データの内容が、項目ごとに区切られ、対象のセルに表示される。(完成!)

6.可変長ファイル用のツール

ツールの作成

用意しておいたツールの基になるエクセルを開き、
「開発タブ > Visual Basic > 挿入 > 標準モジュール」
の順で操作して、標準モジュールを挿入して下記のコードを貼付ける。

Function u_split(str1 As String, str2 As String, str3 As Long)
Dim x
x = Split(str1, str2)
u_split = ""
If (str3 > 0) And (str3 <= UBound(x) + 1) Then
u_split = x(str3 - 1)
End If
End Function

C8セルに数式「=u_split($B8,”,”,C$1)」を入力する。

※Excelが2007形式(xlsx)の場合

「ファイル > 名前を付けて保存 > デスクトップ」の順で操作し、「ファイルの種類(T):」をExcel マクロ有効ブック(*.xlsm)で保存する。

保存の際に、以下の警告が出る場合があるが「OK」で良い。

使い方

確認したいファイルを開き、全選択(Ctrl + A)してコピーする。

用意したツールを開き、B列にコピーした内容を張付ける。

データの内容が、項目ごとに区切られ、対象のセルに表示される。(完成!)

スポンサーリンク

7.※番外 固定長ファイル(改行コードなし)の場合

ツール自体は固定長ファイルの改行コードありと同じものを使用するが、確認したいファイルを開くときに、sakuraエディタを使用する。

確認したいファイルをsakuraエディタで開く。

「設定(O) > 共通設定(C) > 編集タブ」を開き、折り返し行に改行を付けてコピー(C)をチェックする。

次に「設定(O) > タイプ別設定一覧(L)」を開き、一覧から開いているファイルに該当するファイルタイプを指定して、設定変更(S)を選択する。
※今回は、拡張子がtxtなので「テキスト ( txt,log,1st,err,ps )」を指定。

折り返し方法(<)に「指定桁で折り返す」、折り返し桁数(R)に「42」を指定する。
※折り返し桁数には、1レコードのMAXレングスを指定する。今回の場合は1レコード42バイトあるので、42を指定。

設定が完了すると、42桁で折り返し表示されるので、全選択(Ctrl + A)してコピー。

固定長ファイルを区切るExcelツールを開き、B列にコピーした内容を張付ける。

データの内容が、項目ごとに区切られ、対象のセルに表示される。(完成!)

Excel 最強の教科書[完全版]

スポンサーリンク