第116回.ファイル操作Ⅱ(OpenとClose)
VBAで(CSV等のテキスト)ファイルを扱う時は、
最初に、ファイルを開き、
次に、読込書込みを行い、
最後に、ファイルを閉じます。
ファイルを閉じるには、Closeステートメントを使います。
今回はこのOpenステートメントとCloseステートメントを解説します。
Openステートメント
入出力処理を行うときには、その対象となるファイルを開く必要があります。
Open ステートメントはファイルに入出力のためのバッファを割り当て、
バッファに対するアクセス モードを決定します。
pathname |
必ず指定します。 |
mode |
必ず指定します。 |
Access |
省略可能です。 |
lock |
省略可能です。 |
filenumber |
必ず指定します。 |
reclength |
省略可能です。 |
Binary:バイナリモード
Input:シーケンシャル入力モード(先頭から順に読み込みます)
Output:シーケンシャル出力モード(先頭から順に書き込みます)
Random:ランダムアクセスモード
Append、Binary、Output、または Random モードでファイルを開くと、そのファイルが作成されます。
マクロVBA入門では主に、Input、Outputについて取り上げます。
Closeステートメント
Close [filenumberlist]
引数 filenumberlist には、任意のファイル番号を 1 つまたは複数指定します。
引数 filenumberlist を省略すると、Open ステートメントで開いたすべてのファイルが閉じられます。
OpenステートメントとCloseステートメントの使用例
次回以降の、Line Input # ステートメントや、Print # ステートメントとともに使用されます。
VBAサンプルコードは、これらとともに次回以降に記載します。
Append、Binary、Input、Output、または Random
これらの違いを理解しておけば良いでしょう。
CSVの読み込み方法
同じテーマ「VBA入門」の記事
第113回.配列に関連する関数
第114回.セル範囲⇔配列(マクロVBA高速化必須テクニック)
第115回.Split関数
第116回.ファイル操作Ⅱ(OpenとClose)
第117回.ファイル操作Ⅱ(Line Input #)
第118回.ファイル操作Ⅱ(Print #)
第119回.ファイルシステムオブジェクト(FileSystemObject)
第120回.OnTimeメソッド
第121回.SendKeysメソッドとAppActivateステートメント
第122回.Shell関数
第123回.APIについて(Win32API)
新着記事NEW ・・・新着記事一覧を見る
トランザクション処理|SQL入門(12月11日)
インデックスを作成して高速化(CREATE INDEX)|SQL入門(12月9日)
他のテーブルのデータで追加/更新/削除|SQL入門(12月8日)
データの削除(DELETE)|SQL入門(12月7日)
データの更新(UPDATE)|SQL入門(12月6日)
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(12月5日)
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(12月4日)
データベースの正規化とマスタの作成|SQL入門(12月3日)
データベースにおけるNULLの扱い方|SQL入門(12月2日)
オブジェクト変数とは何か|VBA技術解説(12月2日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。