ExcelマクロVBA入門
第116回.ファイル操作Ⅱ(OpenとClose)

Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説
最終更新日:2018-02-07

第116回.ファイル操作Ⅱ(OpenとClose)


VBAでファイル(CSV等)を扱う時は、
最初に、ファイルを開き、
次に、読込書込みを行い、
最後に、ファイルを閉じます。


ファイルを開くには、Openステートメントを使います、
ファイルをとじるには、Closeステートメントを使います。



Openステートメント

ファイルを開いて、ファイルへ入出力できるようにします。

入出力処理を行うときには、その対象となるファイルを開く必要があります。

Open ステートメントはファイルに入出力のためのバッファを割り当て、バッファに対するアクセス モードを決定します。

Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]

pathname

必ず指定します。
文字列式にはファイル名を指定します。
フォルダ名、またはドライブ名も含めて指定できます。

mode

必ず指定します。
ファイル モードを示す、次のいずれかのキーワードを指定します。
Append、Binary、Input、Output、または Random。
省略すると、ファイルはランダム アクセス モードで開かれます。

Access

省略可能です。
開くファイルに対して行う処理を示す、次のいずれかのキーワードを指定します。
Read、Write、または Read Write。

lock

省略可能です。
開くファイルに対する、他のプロセスからのアクセスを制御する、次のいずれかのキーワードを指定します。
Shared、Lock Read、Lock Write、または Lock Read Write。

filenumber

必ず指定します。
1 ~ 511 の範囲で任意のファイル番号を指定します。
FreeFile 関数を使用して次に使用可能なファイル番号を取得してください。

reclength

省略可能です。
32,767 バイト以下の数値を指定します。
ランダム アクセス ファイルの場合は、レコード長を表します。
シーケンシャル ファイルの場合は、バッファの容量を表します。


FreeFile関数
使用可能なファイル番号を整数型 (Integer) の値で返すファイル入出力関数です。



Closeステートメント

Open ステートメントで開いたファイルへの入出力を終了して、ファイルを閉じるファイル入出力ステートメントです。

Close [filenumberlist]

引数 filenumberlist には、任意のファイル番号を 1 つまたは複数指定します。

引数 filenumberlist を省略すると、Open ステートメントで開いたすべてのファイルが閉じられます。



使用例.

OpenステートメントもCloseステートメントも、単体で使われることはありません。

次回以降の、Line Input # ステートメントや、Print # ステートメントとともに使用されます。

サンプルコードは、次回以降に記載します。



以下も参考にしてください。

CSVの読み込み方法
エクセルのVBAでのCSVの読込方法としては、・テキストファイルとして読み込む ・ワークブックとして読み込む ・クエリーテーブルを使う ・ADOを使う、大別するとこのようになります。エクセルのVBAでCSVの読み込みについてネットで検索したところ、これなら、というのが見つかりませんでした。




同じテーマ「マクロVBA入門」の記事

配列に関連する関数
セル範囲⇔配列
Split関数
ファイル操作Ⅱ(OpenとClose)
ファイル操作Ⅱ(Line Input #)
ファイル操作Ⅱ(Print #)
ファイルシステムオブジェクト(FileSystemObject)
OnTimeメソッド
SendKeysメソッドとAppActivateステートメント
Shell関数
APIについて(Win32API)

新着記事NEW ・・・新着記事一覧を見る

Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)
Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.繰り返し処理(For Next)|ExcelマクロVBA入門
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄



  • >
  • >
  • >
  • ファイル操作Ⅱ(OpenとClose)

    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ