下のプログラムで、なぜ Fso は Set してないのに使えるのでしょうか?
Set hFolder = Fso.GetFolder(f)
この行を実行する前は、ウォッチウインドウで Fso を見ると「<オブジェクト変数または With ブロック変数が設定されていません。>」と出るのに、実行した後はちゃんと内容を見れました。
ずっと、オブジェクトは Set 文で代入しないと使えないと思ってきたので不思議に思えました。
どなたかお詳しい方、よろしくお願い致します。
プログラム
Dim Fso As New FileSystemObject
Dim hFolder As Folder
Set hFolder = Fso.GetFolder("C:\WINDOWS")
失礼しました。ちょっと間違っていたので訂正します。
↓訂正後の質問文
下のプログラムで、なぜ Fso は Set してないのに使えるのでしょうか?
Set hFolder = Fso.GetFolder("C:\WINDOWS")
この行を実行する前は、ウォッチウインドウで Fso を見ると「<オブジェクト変数または With ブロック変数が設定されていません。>」と出るのに、実行した後はちゃんと内容を見れました。
ずっと、オブジェクトは Set 文で代入しないと使えないと思ってきたので不思議に思えました。
どなたかお詳しい方、よろしくお願い致します。
プログラム
Dim Fso As New FileSystemObject
Dim hFolder As Folder
Set hFolder = Fso.GetFolder("C:\WINDOWS")
過去ログ)
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200506/05060038.txt
「New キーワードを使ってオブジェクト変数を宣言した場合、その変数を最初に使うときに自動的に新規オブジェクトが作成されます。」
こういう決まりがあったんですね。
ありがとうございました。
ツイート | ![]() |