投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/2/6 20:04:49
> 右側の Folder は、おそらく
> コンストラクタ呼び出し側で指定した
>     Dim Commander As New DownloadCommander(Folder, LogFileName)
> の Folder だと思います。

その認識で正しいですよ。


> Me.FolderName は、何を表しているでしょうか? 

御明察のとおり、
> Me.FolderName が、クラス定義の最初で宣言している
>   Public FolderName As String
にあたります。


> であるならば、
>  Private FolderName As String
> と宣言しても差し支えない様に思います。
> Public でなければならない理由がよくわかりません。

動作上は、Private でも問題ありません。Public にした場合には、呼び出し側で
MsgBox( Commander.FolderName )
Commander.FolderName = Folder2
などとして、ダウンロード前にフォルダを変更することもできます。

もしも DownloadCommander クラスにおいて、外部から変数の内容を変更されないようにするなら、
Public ReadOnly FolderName As String
とすることで、読み取り専用のフィールドとすることもできます。


> 外部から直接、FolderName を操作している箇所がある様に思います。
> それはどこでしょうか?

リスト13がそれにあたります。もし、このフィールドが Private な場合、
利用側はリスト12の書き方をすることになります。