朝会発表テーマ

Access VBAでテキストファイルの入出力を行う方法

・ファイルを開く

Open ファイル名 For モード Access アクセス ロック As ファイル番号 Len=レコード長
  • ファイル名=対象ファイル名称。パス省略時はカレントディレクトリ。
モードInput読み込みモード
Output新規書き込みモード
Append追加書き込みモード
Binaryバイナリファイルモード
Randomランダムアクセスモード
アクセス(省略可能)Read読み込み専用
Write書き込み専用
Read Write読み書き可能
ロック(省略可能)Shared他プロセスから同ファイルへ読み書き可能
Lock Read他プロセスから同ファイルの読み込み不可
Lock Write他プロセスから同ファイルの書き込み不可
Lock Read Write他プロセスから同ファイルの読み書き不可
ファイル番号1~511で現在使用していない値を使用する。
レコード長(省略可能)32767以下の数値で指定する。

・ファイルに書き込む

Print #ファイル番号,"書き込みデータ"
  • ファイル番号=Openステートメントで開いているファイル番号
Write #ファイル番号,"書き込みデータ"
  • ファイル番号=Openステートメントで開いているファイル番号

例1

Print #1,"abc"
Print #1,"def";セミコロンをつけると改行しない
Print #1,"ghi"

結果1

abc
defghi

例2

Write #1,"abc"セミコロン無しだと改行される
Write #1,"def";セミコロンをつけるとカンマで区切られる
Write #1,"ghi"

結果2

"abc"
"def","ghi"

・ファイルから読み込む

Input #ファイル番号,変数1,変数2,・・・,変数n

ファイルから変数の数だけデータ読み込む。カンマか改行で1データを判断する。

  • ファイル番号=Openステートメントで開いているファイル番号
  • 変数=ファイルから取得した値をいれる変数
    ファイルの値と整合性の取れる型でないといけない。
    たとえば数値型変数なのに文字列が入る場合は0になる
Line Input #ファイル番号, 変数

ファイルから1行読み込む

  • ファイル番号=Openステートメントで開いているファイル番号
  • 変数=ファイルから取得した値をいれる変数

・ファイルを閉じる

Close #ファイル番号
  • ファイル番号(省略可能)=Openステートメントで開いているファイル番号
    ファイル番号を省略すると開いている全ファイルを閉じる。
Reset

開いている全ファイルを閉じる

コメント