- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【ExcelVBA】FreeFile関数とGet関数について)
【ExcelVBA】FreeFile関数とGet関数の使い方について
このQ&Aのポイント
- ExcelVBAを使用した部署で勉強中の初心者です。質問ですが、「FreeFile」と「Get」の使い方がよく分かりません。具体的には、(FNAME)という名前のファイルにある数百万個の数値を、R()という配列に格納しているようです。これらの関数の使い方を教えていただけないでしょうか。
- ExcelVBAで作業している初心者です。質問なのですが、「FreeFile」と「Get」という関数の使用方法がわかりません。具体的には、(FNAME)というファイルに数百万個の数値があり、それらをR()という配列に格納しているようです。どのように使うのか、教えていただけないでしょうか。
- ExcelVBAを学んでいる初心者です。質問なのですが、「FreeFile」と「Get」という関数の使い方がよく分かりません。具体的には、(FNAME)という名前のファイルにある数百万個の数値を、R()という配列に格納しているようです。これらの関数について、詳しく教えていただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ファイルからデータを読み込む際、openステートメントを使用した方法では ・openステートメントでファイルを開く(アクセス可能状態にする) ・getステートメントでデータを読み込む を別々に行う必要があります。無論、ファイルを開いてからでないと読み込みはできません。 また、複数のファイルを同時に開いた場合などのときのため、データを読み込む毎にどのファイルから読み込むのか指定しなくてはいけません。 そのためopenステートメントでは開いたファイルに必ず目印となるファイル番号を指定し、getステートメントではその番号を指示することで目的のファイルから正しく読み込むわけです。その番号がここでの変数Nです。 このファイル番号は1~511の整数のどれかを指定する必要があるのですが、すでに使用している番号を使ってしまうと重複してしまいます。 freefile関数は今まで使用していないファイル番号を自動で選択して選んでくれる関数で、これを使うことで番号の重複を防ぐことができます。 N = FreeFile は変数Nに現在使用可能なファイル番号を格納し、 Open FNAME For Binary As N はFNAMEファイルをバイナリ処理向けに開き、そのファイルのファイル番号と変数Nの値と決めて、 Get N, , R はファイル番号Nのファイルからデータを読みそのデータを変数Rに格納する。 という動作となります。
お礼
Nはファイルの目印を表しているにすぎない、と思って読むと ぐっと分かりやすくなりました。 大変参考になりました! ありがとうございました。