Como utilizar FileSystemObject com o Visual Basic


Resumo


FileSystemObject fornece uma estrutura não hierárquica para manipular, ler e criar ficheiros de texto ASCII e Unicode avançados. Esta estrutura é muito diferente da estrutura hierárquica da aplicação original de e/s de ficheiro no Visual Basic. FileSystemObject não suporta o acesso a ficheiros binários, tem ainda de utilizar o modelo de e/s de ficheiro original no Visual Basic para o acesso a ficheiros binários.

Mais Informações


FileSystemObject pode ser encontrado na Scrrun. dll. Para além de FileSystemOject, Scrrun inclui quatro outros objectos disponíveis para e/s de ficheiro e outras tarefas. Estes objectos incluem o objecto de ficheiro, o objecto de TextStreamObject, o objecto de pasta e o objecto de unidade. Todos estes objectos têm propriedades e métodos que são detalhados nos ficheiros de ajuda. Pode obter Scrrun instalando um dos seguintes pacotes:
Actualização do Windows Script Host Windows NT opção Pack Microsoft Internet informações Server 3.0 Scripting 3.1 Visual Studio 6.0 do Visual Basic 6.0
FileSystemObject foi originalmente criado para o Visual Basic Scripting Edition. FileSystemObject não está incluída na biblioteca de objectos para o Visual Basic ou Visual Basic for Applications. Para utilizar FileSystemObject, tem de seleccionar o tempo de execução do Microsoft Scripting na caixa de diálogo referências do projecto para o projecto. O seguinte exemplo ilustra como implementar a algumas das funcionalidades FileSystemObject. Para mais informações, consulte os ficheiros de ajuda do Visual Basic e Visual Basic Books Online.

Passos para criar o projecto de exemplo

  1. Inicie um novo projecto EXE padrão no Visual Basic. Por predefinição, é criado o Form1.
  2. Clique em References no Project menu e seleccione Microsoft Scripting Runtime. Se o Microsoft Scripting Runtime não aparecer na lista, procure Scrrun. dll no sistema. Instale uma das ferramentas listadas anteriormente, se necessário.
  3. Adicione quatro controlos CommandButton ao Form1. Os controlos de CommandButton demonstram as seguintes funcionalidades:
       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. Cole o código seguinte na secção General Declarations do 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. Execute o projecto. Clique em cada controlo CommandButton e observe os resultados.