• ベストアンサー

File = Dir は何をしてるのでしょう?

vbaです。 ---------------------------- Sub フォルダの中にあるファイルとフォルダを書き出す() Dim File As String File = Dir("C:\*.*", vbDirectory) Do While File <> "" Debug.Print File File = Dir Loop End Sub ---------------------------- このコードを実行すると、 フォルダの中にあるファイルとフォルダを書き出されるのですが File = Dir のコードは何をしているのでしょうか? 引数なしのDirの使い方もよくわからないし File = Dirがある事によってどういう効果があるのかもわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • nac03056
  • ベストアンサー率48% (203/419)
回答No.2

疑問に対してそのまんま答えるなら、1つ読んできてFileに代入してるってことになります。 おそらく「File = Dir("C:\*.*", vbDirectory)」でもう全部読んでいるのになんでってことを疑問に感じているのかなと想像しますが、このDirはあくまで指定されたファイル等を1個だけ読んでくる関数なので、この場合は最初のファイル名等しか読んでいません。2つ目3つ目と読むには、そのつど「File = Dir」のようにDir関数を動かさないといけないのです。 ですのでこの行を意訳するなら「次のファイル名を読む」ってところでしょうか。

qw954987
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

何をしている? ソースの先頭にコメントがあるでしょう? 『Sub フォルダの中にあるファイルとフォルダを書き出す』と その通りです。 最初のは、cドライブルートフォルダの配下に存在するサブフォルダー名を返すって指示 二回目のは、前回の指定内容で再度問い合わせするということ >File = Dirがある事によってどういう効果があるのかもわかりません。 そんな時には、その行をコメントにすれば宜し。 どんな効果結果があるのか直ぐに分かる。 因みに、関数って何?とか変数って何?という技術レベルでは無いんですよねぇ?

qw954987
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう