データ入力情報ファイル(固定長形式テキストデータ)


データ入力情報ファイルは、固定長形式のテキストファイルからデータを入力するために必要な情報を定義するためのファイルです。
Importメソッドやパラメータ、 /d オプションでデータ種別として 1001 を指定することで扱うことができます。

この機能は[version 1.1.17.3036]から利用することができます。

Importメソッドやパラメータ、/d オプションからは、
データ種別(第二引数)を 1001 に、
情報1(第三引数) にデータファイル(固定長気式のテキストファイル)へのパスを、
情報2(第四引数) にデータ入力情報(カスタム)ファイルへのパスを指定します。
(その他の引数についてはImportメソッドを参考)

第四引数は省略可能で、省略した場合はデータファイルと同じフォルダにある wfr_custom1001.txt ファイルを参照します。



<データ入力情報ファイルの例(wfr_custom1001.txt)>
[WFR_CUSTOM1001]

[File]
LineEnd=0x0A

[Field]
氏名=Fixed,0,16,Trim
生年月日=Fixed,16,10,Trim
ポイント=Fixed,26,7,NumRevise

[Order]
生年月日=A,Date


<固定長形式のテキストファイルの例(sample.txt)>
012345678901234567890123456789012
山○ 一郎      2002/03/15100    
鈴木 孝○      2001/05/04300    
佐藤 △太郎    2011/02/085600   
田中 □太      2001/04/03150000 
上○ 大輔      2001/07/23-99.540
川上 ○也      2001/11/091 0    
清原 里△      2002/02/07123,456


<コマンド起動からの実行例>
wfrv.exe c:\sample\sample.wfr /d "Data1, 1001, c:\sample\sample.txt, c:\sample\wfr_custom1001.txt"


<COM/ActiveXからの実行例>
wfrObj.Open "c:\...\sample.wfr"
wfrObj.Import "Data1", 1001, "c:\sample\sample.txt", "c:\sample\wfr_custom1001.txt"



データ入力情報ファイルに記述する情報


name 説明
[WFR_CUSTOM1001] ファイル識別キーワード。
このキーワードを必ずファイル先頭に記述する必要があります。
[File] 入力するデータの情報を指定します。

オプション 説明
LineEnd 行末文字を指定します。
通常は 0x0A です。

文字での指定も可能ですが、16進の文字コードでの指定も可能です。
16進の文字コードで指定する場合は先頭に 0x を付けます。
PageEnd Field種別でPageNumberを使用する場合に、ページ区切りとなる文字を指定します。

文字での指定も可能ですが、16進の文字コードでの指定も可能です。
16進の文字コードで指定する場合は先頭に 0x を付けます。
StartRecord 入力開始レコードを指定します。
指定がない場合は、先頭のレコードから入力を開始します。
RecordCount 入力レコード数を指定します。
指定がない場合は、全レコードを入力します。


<オプションの指定例>
データファイルの3行目から10レコード分のデータを入力します。
[WFR_CUSTOM1001]

[File]
LineEnd=0x0A
PageEnd=0x0D0C
StartRecord=3
RecordCount=10

[Field]
Page=PageNumber
氏名=Fixed,0,16,Trim
生年月日=Fixed,16,10,Trim
ポイント=Fixed,26,7,NumRevise

[Field] フィールド情報を定義します。

<書式>
フィールド名=<種別>,開始位置,入力文字数,オプション

種別 説明
All レコード全体を値として使用します。

<例>
[Field]
Data=All
Fixed 入力範囲(文字位置と文字数)を指定します。
入力開始位置と入力文字数の指定が必要です。

<追加できるオプション>
Trim:前後の空白改行を削除
NumRevise:数値情報を補正(前後の空白や「,」の削除)

<例>
「生年月日」フィールドに16文字目から10文字入力します。
[Field]
生年月日=Fixed,16,10,Trim
PageNumber [File]キーワードでPageEndオプションを指定している場合、
ページ番号を代入することができます。

帳票定義で改ページ等のグループ情報として使用することができます。

<例>
[Field]
Pagea=PageNumber
RecordNumber レコード番号を代入することができます。

<例>
[Field]
Recorda=RecordNumber
[Order] レコードの並び替え情報を指定します。

<書式>
フィールド名=<方向>,<データ型>

<方向>
A :昇順
D :降順

<データ型>
String : 文字列
Number : 数値
Date : 日付日時

<例>
「生年月日」フィールドを日付値として昇順に並び替えます。
[Order]
生年月日=A,Date
[Change] 入力時に制御コードを特定の文字列に置き換えることができます。
変換はフィールド単位で行われます。
(PageNumber/RecordNumber以外の種別のフィールド全てが変換の対象となります)

<書式>
置き換え前文字列=置き換え後文字列

<例>
[Change]
0x1C01="CodeTeyp 1"
0x1C02="CodeTeyp 2"
0x1C03="CodeTeyp 3"

文字での指定も可能ですが、16進の文字コードでの指定も可能です。
16進の文字コードで指定する場合は先頭に 0x を付けます。