How To Use FileSystemObject with Visual Basic

This article was previously published under Q186118
FileSystemObject provides a non-hierarchical structure to manipulate, read,and create ASCII and Unicode text files. This structure is very differentfrom the hierarchical structure of the original implementation of File I/Oin Visual Basic. FileSystemObject does not support binary file access, soyou must still use the original File I/O model in Visual Basic for binaryfile access.
FileSystemObject can be found in Scrrun.dll. In addition toFileSystemOject, Scrrun.dll includes four other objects available for FileI/O and other tasks. These objects include the File object, theTextStreamObject object, the Folder object, and the Drive object. All ofthese objects have properties and methods that are detailed in the Helpfiles.

You can obtain Scrrun.dll by installing one of the following packages:
Windows Script Host
Windows NT Option Pack
Microsoft Internet Information Server 3.0
Scripting 3.1 upgrade
Visual Studio 6.0
Visual Basic 6.0

FileSystemObject was originally created for the Visual Basic ScriptingEdition. FileSystemObject is not included in the object library for VisualBasic or Visual Basic for Applications. To use FileSystemObject, you mustselect the Microsoft Scripting Run-time in the Project References dialogbox for your project.

The following sample illustrates how to implement some of theFileSystemObject functionality. For more information, please see the VisualBasic Help files and the Visual Basic Books Online.

Steps to Create Sample Project

  1. Start a new Standard EXE project in Visual Basic. Form1 is created by default.
  2. Click References on the Project menu and select the Microsoft Scripting Runtime. If the Microsoft Scripting Runtime does not appear in the list, browse for Scrrun.dll on your system. Install one of the tools listed previously if necessary.
  3. Add four CommandButton controls to Form1. The CommandButton controls demonstrate the following functionality:
       Command1: How to read an existing text file using FileSystemObject             and TextStreamObject.   Command2: How to view file information using FileSystemObject and             the File object.   Command3: How to iterate through folders using FileSystemObject and             the Folder object.   Command4: How to view drive information using FileSystemObject and             the Drive object.					
  4. Paste the following code into the General Declarations section of Form1:
          Option Explicit      Private Sub Command1_Click()        'Declare variables.        Dim fso As New FileSystemObject        Dim ts As TextStream        'Open file.        Set ts = fso.OpenTextFile(Environ("windir") & "\system.ini")        'Loop while not at the end of the file.        Do While Not ts.AtEndOfStream          Debug.Print ts.ReadLine        Loop        'Close the file.        ts.Close      End Sub      Private Sub Command2_Click()         Dim fso As New FileSystemObject         Dim f As File         'Get a reference to the File object.         Set f = fso.GetFile(Environ("windir") & "\system.ini")         MsgBox f.Size 'displays size of file      End Sub      Private Sub Command3_Click()         Dim fso As New FileSystemObject         Dim f As Folder, sf As Folder, path As String         'Initialize path.         path = Environ("windir")         'Get a reference to the Folder object.         Set f = fso.GetFolder(path)         'Iterate through subfolders.         For Each sf In f.SubFolders           Debug.Print sf.Name         Next      End Sub      Private Sub Command4_Click()         Dim fso As New FileSystemObject         Dim mydrive As Drive         Dim path As String         'Initialize path.         path = "C:\"         'Get object.         Set mydrive = fso.GetDrive(path)         'Check for success.         MsgBox mydrive.DriveLetter 'displays "C"      End Sub					
  5. Run your project. Click each CommandButton control and observe the results.

Article ID: 186118 - Last Review: 07/15/2004 20:33:00 - Revision: 2.2

Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic 6.0 Enterprise Edition

  • kbhowto kbfileio KB186118