FileSystemObject オブジェクトの使用例 |
FileSystemObject オブジェクトの使用例 | |
使用する前に、[プロジェクト]→[参照設定]で Microsoft Scripting Runtime
の参照に チェックを入れておいて下さい。 作業に必要な FileSystemObject オブジェクトを作成します。このオブジェクトの作成方法に は次の 2 つがあります。 CreateObject メソッドを使用するか、 FileSystemObjectオブジェクトの変数を宣言することに より、 FileSystemObjectオブジェクトを作成します。 FileSystemObject オブジェクトの変数を宣言します。 Dim FsObj As New FileSystemObject CreateObject メソッドを使用して、FileSystemObject オブジェクトを作成します。 Set FsObj = CreateObject("Scripting.FileSystemObject") 上の構文において、Scripting はタイプライブラリの名前であり、FileSystemObject は インスタンスが作成されるクラスの名前です。 1 番目の方法は Visual Basic でのみ使用できますが、2 番目の方法は Visual Basic 及 びVBScript のどちらでも使用できます。 詳しくはMSDNで FileSystemObject で検索して見て下さい。 |
|
指定のフォルダー内のファイル数を取得する (146) | |
Option Explicit 'SampleNo=146 WindowsXP VB6.0(SP5) 2002.06.06 Private Sub Command1_Click() 'New を指定した場合は、オブジェクトを最初に参照したときに 'オブジェクトの新しいインスタンスが作成されるので、 'Set ステートメントを使ってオブジェクトへの参照を代入する '必要はありません。 Dim FsObj As New FileSystemObject Dim RetValue As Long RetValue = FsObj.GetFolder("c:\windows").Files.Count Label1.Caption = "ファイルは " & RetValue & " 個有りました。" 'Nothing を使用しているのを見かけますが、これは必ずしも必要ありません。 'なぜなら変数FsObjは関数を抜けるときに自動的に削除されるからです。 '(FileSystemObjectを参照しているものがなくなるからです。) End Sub |
|
指定のフォルダー内のフォルダー数を取得する (146) | |
Private Sub Command3_Click() Dim FsObj As New FileSystemObject Dim RetValue As Long RetValue = FsObj.GetFolder("c:\windows").SubFolders.Count Label2.Caption = "サブフォルダーは " & RetValue & " 個有りました。" End Sub |
|
指定フォルダー以下のサブフォルダーを列挙 (146) | |
Private Sub Command2_Click() Dim FsObj As New FileSystemObject With List1 .Clear .Visible = False End With Call sFolderSearch(FsObj.GetFolder("c:\Windows")) List1.Visible = True End Sub Private Sub sFolderSearch(ByRef myFolder As Folder) '指定フォルダー以下のサブフォルダーを列挙 Dim mySubFolder As Folder With myFolder If .SubFolders.Count > 0 Then For Each mySubFolder In .SubFolders List1.AddItem mySubFolder '再帰的に関数を呼び出し Call sFolderSearch(mySubFolder) Next End If End With End Sub |
2002/06/25