質問: nothing end sub 上記のコードは、newを付けても付けなくても結果は変わりませんでした。 よろしくお願いします。
回答: dim myfso as new filesystemobject としているという事は、microsoft scripting runtimeに参照設定されているのでしょう。 一方、set myfso = createobject("scripting.filesystemobject")は、microsoft scripting runtimeに参照設定しないときの使い方です。今回のコードでは、宣言部でnewを入れてあれば、この部分(set myfso = 云々)はコメントアウトしても動作します。 参照設定しているときは、 dim myfso as new filesystemobject 単独 または、 dim myfso as filesystemobject と、 set myfso = new filesystemobjectを併用するのが本来です。 これは、#1さんも仰っている事ですね。 敢えてしゃしゃり出たのは、最近 dim myfso as new filesystemobject の書き方で酷い目にあったからです。 #2さんの >このキーワードを指定すると、オブジェクトを暗黙的に作成できます。 >オブジェクト変数を宣言するときにキーワード new を指定した場合は、 >オブジェクトを最初に参照したときにオブジェクトの新しいインスタンスが作成されるので だけでは無くて、 コードの中でオブジェクトを削除してしまった時は、新たなインスタンスが作成されます。 当方誤って消してしまっていたのに、真っ新な新規インスタンスが生成されてしまっていて、バグに気がつくのにずいぶん時間がかかってしまいました。 dim ... as new は、二度と使うまいと、心に誓ったのでした。 ご参考まで。