VB2008ExpでFileSystemObjectインテリセンス有効にするには
連載:プロフェッショナルVB.NETプログラミング 第7回 ファイル入出力(前編)(2/3) - @IT
最初はFileSystemObjectが使えれば何でも良い!と思ったけど、
上記の記事の「サンプル・プログラム4」では、「Visual Studio」最大の機能の1つの「インテリセンス」が使えない事に気がついた!
で、調べ直した所、
「Visual Studio」の「インテリセンス」を使う為には、そのオブジェクトが参照可能になっており、「New演算子」で打ち込んだ時に「インテリセンス」が働くことがポイントと分かりました!
もう一つ気が付いた点は「FileSystemObject」
を「VB.NET」から使う場合の呼び出し方は「Scripting.FileSystemObject」と頭に「Scripting」を付けなければダメ❗️という点です。最初は気付かずに「FileSystem…」と入力しても、自動候補に出てこないなあと勘違いしていた(笑)。
結論は「サンプル・プログラム6」の書き方が正解で、
プロジェクトの参照で「Microsoft.Scripting.Runtime」が有効であれば、「fs = New Scripting」と打ち込んだ時点で「Scripting.FileSystemObject」が候補として表示するようなら正解という事でした!
こうすれば、
「fs = Scripting.FileSystemObject」と定義済みなので、
「fs.」に対して「GetFolder」や「FileExists」等の「FileSystemObject」に使えるメソッドがたくさん表示する様になり、
格段にコード作成の効率向上します。
英語の翻訳する作業に例えるなら、
英和辞典を一つ一つ単語を調べながら訳していく手作業が、
二か国語ペラペラの外国語教師が真横で言われなくても勝手に英語から日本語に翻訳してくれる様な「天と地」程の差があります。
@ITさんの記事ではラッパークラスのモジュールが作られ云々言われてるけど、
コーディング作業負荷低減の方がはるかにメリットが大きいので、絶対に「サンプルプログラム6」の方法で参照設定して、New演算子でオブジェクト定義するべきと断言します。
以上です。#####