VB6・VBA関数メモ:Width #ステートメント

Width #ステートメントについてメモしておきます。

ファイルの1行に出力する桁数を設定する際に使用します。
例えば10を指定した場合、出力文字列が10桁目を超える場合に改行します。

指定した文字列の途中で改行はしないようなので
桁数をきれいに改行させたい場合は1文字ずつ出力したほうが良さそうです。


概要

Width #FileNumber AS Integer, Width AS Integer
機能 ファイルの1行に出力する桁数を設定
引数 FileNumber Open ステートメントで指定したファイル番号 Integer型
Width 1行に出力する桁数
(0〜255)
Integer型
戻り値 なし


使用例

説明 記述例 出力
1行に出力する文字数を設定
(例ではABCDEの途中で12文字を超えるため改行)
Dim n   As Integer
n = FreeFile
Open "D:¥Sumple.txt" For Output As #n

Width #n, 12
Print #n, "abcde";
Print #n, "12345";
Print #n, "ABCDE"

Close #n
(Sumple.txt)
abcde12345
ABCDE
1行に出力する文字数を設定
(1文字ずつ出力すれば改行位置がキレイにあう)
Dim i   As Long
Dim n   As Integer
n = FreeFile
Open "D:¥Sumple.txt" For Output As #n

Width #n, 5
For i = 0 To 25
	Print #n, Chr(Asc("A") + i);
Next i

Close #n
(Sumple.txt)
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
Z


応用例

説明 記述例 出力
1行に出力する桁数を指定しても、文字列の途中では改行しない
Dim n   As Integer
n = FreeFile
Open "D:¥Sumple.txt" For Output As #n

Width #n, 3
Print #n, "1234567890"

Close #n
(Sumple.txt)
1234567890
0〜255の範囲外の値を指定するとエラー
On Error GoTo ERR_HANDLER

Dim n   As Integer
n = FreeFile
Open "D:¥Sumple.txt" For Output As #n

Width #n, -1

ERR_HANDLER:

Close #n

If Err > 0 Then Debug.Print Error
プロシージャの呼び出し、または引数が不正です。
On Error GoTo ERR_HANDLER

Dim n   As Integer
n = FreeFile
Open "D:¥Sumple.txt" For Output As #n

Width #n, 256

ERR_HANDLER:

Close #n

If Err > 0 Then Debug.Print Error
プロシージャの呼び出し、または引数が不正です。


コメント
コメントする








    
この記事のトラックバックURL
トラックバック