FileSystemObject オブジェクトの紹介
                                                         玄関へお回り下さい。
FileSystemObject オブジェクトのメソッドの簡単な紹介    (257)
FileSystemObject オブジェクトのメソッド及びプロパティの簡単な紹介という事で使用例としては
適当でないない物が含まれておりますが、各メソッド等がどういう物かを知って頂けるかと思い
ます。詳しくお知りになりたい場合は別途ヘルプを見て下さい。

まず、参照設定をしておいて下さい。
そしてFormにCommand1を配列で24個とLabel1を貼り付けて Sample.txt を準備しておいて下
さい。
Option Explicit   'SampleNo=257 WindowsXP VB6.0(SP5) 2003.02.22

Private Sub Command1_Click(Index As Integer)

  Dim Fso   As New FileSystemObject
  Dim FsoFile As File

  Select Case Index

    Case 0 '既存のパスの末尾に名前を追加します。
      '必要な場合に限り、BuildPath メソッドは既存のパスと
      '指定した名前の間にパスの区切り文字を挿入します。
      Label1.Caption = Fso.BuildPath(App.Path, "Sample.txt")
      '結果:  C:\VBRescu1\257\Sample.txt

    Case 1 'ファイルを別の場所へコピーします。
      Fso.CopyFile App.Path & "\sample.txt", App.Path & "\Sample1.txt"
      'Fso.CopyFile "コピー元ファイルパス","コピー先ファイルパス"

    Case 2 'フォルダーを別の場所へコピーします。
      'フォルダーを作成します。
      Fso.CreateFolder "c:\123"
      'フォルダーをコピーします。"
      Fso.CopyFolder App.Path, "c:\123\"
      'Fso.CopyFolder "コピー元フォルダーパス","コピー先フォルダーパス"

    Case 3
      Dim myFile As TextStream
      'sample2.txt を新たに作成しそこへ書きこみます。
      Set myFile = Fso.CreateTextFile(App.Path & "\sample2.txt")
      myFile.WriteLine ("VBレスキュー(花ちゃん)")
      myFile.Close
      Set myFile = Nothing

    Case 4 '指定されたファイルを削除します。
      Fso.DeleteFile (App.Path & "\Sample2.txt")

    Case 5 '指定されたフォルダー及びそのフォルダー内の
        'フォルダーとファイルを削除します。
      Fso.DeleteFolder ("c:\123")

    Case 6 '指定されたドライブが存在する場合は、真 (true) を返します
      Label1.Caption = Fso.DriveExists("c:\")

    Case 7 '指定されたフォルダーが存在する場合は、真 (true) を返します
      Label1.Caption = Fso.FolderExists("c:\123\")

    Case 8 '指定したファイルが存在する場合は、真 (true) を返します
      Label1.Caption = Fso.FileExists("c:\123\257\sample.txt")

    Case 9 '指定されたパスの絶対パス名を返します
      Label1.Caption = Fso.GetAbsolutePathName(".")
      '結果: C:\VBRescu1\257

    Case 10 '指定されたパス内に含まれるファイルのベース名
        '(ファイル拡張子を除いたもの) を表す文字列を返します。
      Label1.Caption = Fso.GetBaseName(App.Path & "\Sample.txt")
      '結果: Sample

    Case 11 '指定されたパスに含まれるドライブに対応する
        'Drive オブジェクトを返します
      Label1.Caption = Fso.GetDrive(Fso.GetDriveName(App.Path)).FreeSpace
      '結果: この場合はそのDriveの空き容量を取得している

    Case 12 '指定されたパスの拡張子を表す文字列を返します。
      Label1.Caption = Fso.GetExtensionName(App.Path & "\Sample.txt")
      '結果: txt

    Case 13 '指定されたパスに置かれているファイルに対応する
        'File オブジェクトを返します。
      Label1.Caption = Fso.GetFile(App.Path & "\Sample.txt").DateCreated
      '結果: この場合そのFile オブジェクトのDateCreatedを取得している

    Case 14 '指定されたパスの最後のファイル名またはフォルダー名を返します
      Label1.Caption = Fso.GetFileName(App.Path & "\Sample.txt")
      '結果: Sample.txt

    Case 15 '指定されたパスに置かれているフォルダーに対応する
        'Folder オブジェクトを返します。
      Label1.Caption = Fso.GetFolder(App.Path)
      '結果: C:\VBRescu1\257

    Case 16 '指定したファイルのバージョン番号を返します。
      Label1.Caption = Fso.GetFileVersion( _
            "C:\Program Files\Microsoft Office\Office\Excel.exe")
      '結果: 9.0.0.2823

    Case 17 '指定されたパスの最後のファイルまたはフォルダーの
        '親フォルダーの名前が入った文字列を返します。
      Label1.Caption = Fso.GetParentFolderName(App.Path & "\Sample.txt")
      '結果: C:\VBRescu1\257

    Case 18 '指定された特殊フォルダーを返します。
      Label1.Caption = Fso.GetSpecialFolder(2)
      '結果:  C:\DOCUME~1\ypcs_NO1\LOCALS~1\Temp

    Case 19 '一時ファイル又は一時フォルダーの名前をランダムに生成して返します
      Label1.Caption = Fso.GetTempName
      '結果: rad540C5.tmp

    Case 20 'ファイル (複数可) を別の場所へ移動します。
      Fso.MoveFile "c:\123\257\Sample.txt", "c:\123\"
      'Fso.MoveFile "移動元ファイルパス","移動先ファイルパス"

    Case 21 'フォルダー (複数可) を別の場所へ移動します
      Fso.MoveFolder "c:\123\257", "c:\"
      'Fso.MoveFolder "移動元フォルダーパス","移動先フォルダーパス"

    Case 22
      Set myFile = Fso.OpenTextFile(App.Path & _
                  "\sample2.txt", ForWriting, True)
      myFile.Write "VBレスキュー(花ちゃん)"
      myFile.Close
      Set myFile = Nothing

    Case 23 'ローカルマシンで利用できるすべての
        'Drive オブジェクトが入った Drives コレクションを返します。
      Dim dc As Drive
      For Each dc In Fso.Drives
        Debug.Print dc.DriveLetter, dc.DriveType
      Next

  End Select
  Set FsoFile = Nothing
End Sub

 
特に使い方が複雑な物はないかと思いますが、一部のメソッドで同じようなメソッドがありますが
少し使い方が違ったりしていますので注意が必要かと思います。
Folder オブジェクトやTextStream オブジェクトのメソッドやプロパティはサンプルで紹
介したいと思います。  






2003/03/03