エクセルバージョン
マイクロソフト365
ファイルの入出力時に使用するOpenステートメントについてです。
それではいってみましょう!
Menu
Openステートメント
概要
ファイルへの入出力 (I/O) を有効にします。
※(I/O)→ InputとOutput
構文
Open pathname For mode [access ] [ lock ] As [ # ] filenumber [ reclength ]
[ ]は省略可です。
項目
Open | 必須/省略可 | 詳細 |
pathname (第1引数) | 必須 | ファイルのパスを指定。 |
mode (第2引数) | 必須 | ファイルモードを指定。 ・Append → 書込み(追記) ・Output → 書込み(上書) ・Input → 読込み ・Binary → バイナリー ・Random → (規定値) ・省略 → Random |
access (第3引数) | 省略可 | 開いたファイルに対して許可される操作を指定。 ・Read・Write・Read Write |
lock (第4引数) | 省略可 | 開いたファイルに対する他のプロセスからの操作の制限を指定。 ・Shared・Lock Read ・Lock Write ・Lock Read Write |
filenumber (第5引数) | 必須 | 1以上511以下の有効なファイル番号を指定。 ・次に使用可能なファイル番号を取得するにはFreeFile関数を使用 |
reclength (第6引数) | 省略可 | 32,767バイト以下の数値を指定。 ・ランダム アクセス用・シーケンシャルファイル |
サンプル
Append(追記)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Sub mode_Append() '追記 'Dim txt Dim fileNum As Integer 'ファイル番号を取得 fileNum = FreeFile 'Appendモードでファイルを開く Open "D:\test1.txt" For Append As #fileNum 'ファイルに追記で書き込む Print #fileNum, "HELLO" 'ファイルを閉じて終了 Close #fileNum End Sub |
【処理前】
test1.txt
【処理後】
test1.txtに追記されます。
Output(上書き)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub mode_Output() '上書き Dim fileNum As Integer 'ファイル番号を取得 fileNum = FreeFile 'Outputモードでファイルを開く Open "D:\test1.txt" For Output As #fileNum 'ファイルに上書きで書き込む Print #fileNum, "HELLO" 'ファイルを閉じて終了 Close #fileNum End Sub |
【処理前】
test1.txt
【処理後】
test1.txtに上書きされます。
Input(読込)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub mode_Input() '読込む Dim vartxt Dim fileNum As Integer 'ファイル番号を取得 fileNum = FreeFile 'Inputモードでファイルを開く Open "D:\test1.txt" For Input As #fileNum 'EOFがFALSEの間ループ While EOF(fileNum) = False 'ファイルから1行読込んで次の行へ移動 Input #fileNum, vartxt 'イミディエイトに出力 Debug.Print vartxt Wend 'ファイルを閉じて終了 Close #fileNum End Sub |
【処理前】
test1.txt
【処理後】
第2引数のModeをInputで読込んでイミディエイトウィンドウに表示されます。
まとめ
どちらかというと、このような処理は事務系の方の処理というよりはエンジニア系の方の処理になりますが、慣れれば非常に簡単な処理なので事務系の方もこの機会に覚えちゃいましょう(*^^)v
ファイルの入出力をする際ご使用してみてください。
以上です。