0% acharam este documento útil (0 voto)
59 visualizações

File System Object

O documento descreve o objeto FileSystemObject no Visual Basic 6, que permite manipular arquivos e pastas de forma simplificada. O FSO contém objetos como File, Folder e Drive que possuem métodos para criar, ler, mover e excluir arquivos e pastas. Exemplos demonstram como usar o FSO para ler e escrever em arquivos de texto.
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
59 visualizações

File System Object

O documento descreve o objeto FileSystemObject no Visual Basic 6, que permite manipular arquivos e pastas de forma simplificada. O FSO contém objetos como File, Folder e Drive que possuem métodos para criar, ler, mover e excluir arquivos e pastas. Exemplos demonstram como usar o FSO para ler e escrever em arquivos de texto.
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 6

FileSystemObject

06 de abril de 2005 por Vitor Oliveira

Em versões anteriores do Visual Basic, se


você quisesse obter uma informação de um arquivo
de sistema ou realizar uma tarefa relacionada com arquivos de
sistema, tal como escrever para um arquivo ou mudar um diretório,
você tinha um número de técnicas disponíveis,
muitas das quais eram muito trabalhosas.

No Visual Basic 6, todas estas tarefas foram contidas


dentro de um novo objeto, o FileSystemObject, que é parte
do Visual Basic Scripting Library. Assim, quando você aprender
a usar este objeto dentro do VB6, você poderá facilmente
transferir seu conhecimento para criar scripts dentro do Internet
Explorer ou Internet Information Server para realizar programação
a nível do sistema

O modelo de objetos FSO está contida na


biblioteca Scripting, que está localizada no arquivo Scrrun.Dll.

Objeto O que faz:

Permite que você crie, exclua, mova


pastas e consulte o sistema sobre seus nomes, caminhos e
outras informações.
Folder

Permite que você obtenha informações


dos drives anexados ao sistema, tais como quanto de espaço
está disponível, qual o seu nome compartilhado
e etc. Note que um drive não é necessariamente
um disco rígido. Ele pode ser um drive de CD-ROM,
um disco de RAM ou algo mais. Também não é
necessário que um drive esteja fisicamente ligado
ao sistema. Ele pode estar logicamente conectado através
de uma LAN, por exemplo.
Drive

Permite que você crie, exclua, mova


arquivos e consulte o sistema sobre seus nomes, caminhos
e outras informações
Files

FileSystemObject O principal objeto do grupo, repleto de


métodos que lhe possibilitam criar, excluir, obter
informações sobre e manipular genericamente
drives, pastas e arquivos. Muitos dos métodos associados
a este objeto duplicam aqueles de outros objetos.

Habilita-o para ler e gravar arquivos texto.


TextStream

Criando um FileSystemObject
Há duas maneiras:

01. Criando uma variável


do tipo FileSystemObject
Ex.: Dim
fso As New FileSystemObject
02. Usado o método
CreateObject para criar um objeto FileSystemObject:
Ex.: Set
fso = CreateObject("Scripting.FileSystemObject")
No caso, Scripting é o nome da biblioteca de tipos e FileSystemObject
é o nome do objeto do qual você quer criar uma instância.

Obs.: O primeiro método


funciona só no Vb. Já o segundo método, funciona
no Vb e no VbScript.
Usando o Método apropriado
Por exemplo, se você quer criar um novo objeto,
você pode usar o método CreateFolder ou CreateTextFile.
(O modelo de objetos FileSystemObject não suporta a criação
ou exclusão de drives).

Se quer excluir objetos, você pode usar


os métodos DeleteFile ou DeleteFolder do objeto FileSystemObject,
ou o método Delete dos objetos File e Folder. Usando os
métodos apropriados, você pode também copiar
e mover arquivos e pastas. Note que parte da funcionalidade do
FileSystemObject é redundante.

Por exemplo, você pode copiar um arquivo tanto usando o


método CopyFile do FileSystemObject quanto o método
Copy do objeto File. Os métodos fazem o mesmo. Ambos existem
para dar a máxima flexibilidade de programação.

Acessando Drives, Arquivos e Pastas Existentes:


Para Ter acesso a um drive, arquivo ou pasta existente,
use o método "get" apropriado do FileSystemObject:
GetDrive, GetFolder, GetFile.

Ex.:
Dim fso As New FileSystemObject,
fil As File
Set fil = fso.GetFile("c:\testando_asp.txt")
Note, contudo, que não é necessário
usar os métodos "get" para os objetos recém
criados, já que as funções de criação
retornam uma referência ao recém criado objeto.

Por exemplo, se você criar uma nova pasta


usando CreateFolder, não tem que usar o método GetFolder
para acessar suas propriedades tais como Name, Size, Path e outras
mais. Basta atribuir a uma variável o retorno da função
CreateFolder para ter acesso aos seus métodos, propriedades
e eventos:
1 Dim fso As New FileSystemObject
2 Dim fldr As Folder
3 Set fldr = fso.CreateFolder("C:\testando_asp")
4 MsgBox "Folder Criado: " & fldr.Name
Acessando as Propriedades do Objeto:
Uma vez que você tem uma referência
a um objeto, pode acessar as suas propriedades. Por exemplo, digamos
que você queira obter o nome de uma pasta em particular.
Primeiro você cria uma instância do objeto e obtém
uma referência a ele com o método apropriado (neste
caso, o método GetFolder, já que a pasta já
existe):

1 Set fldr = fso.GetFolder("c:\")


Agora que você tem uma referência ao
objeto Folder e pode checar sua propriedade Name:
1 Debug.Print "Nome
da pasta é: "; fldr.Name
Se você quer saber quando foi feita a última
modificação em um arquivo, use a seguinte sintaxe:
1 Dim fso As New FileSystemObject,
fil As File
2 Set fil = fso.GetFile("c:\detlog.txt") ” Obtém
um objeto File para consulta.
3 Debug.Print "Última modificação no
arquivo: "; fil.DateLastModified
Trabalhando com Arquivos
Você pode trabalhar com arquivos no Visual
Basic 6 usando tanto os modernos recursos do
modelo FSO como os antigos recurso já existentes. Independente
do tipo de arquivo você pode movê-lo, copiá-lo
ou exclui-ló.
Há duas principais categorias de manipulação
de arquivos:

• Criação, adição
ou remoção de dados e leitura de arquivos. 
• Movimentação, cópia e exclusão
de arquivos.

Criação e Adição
de Dados com os FileSystemObjects:
Há três caminhos para criar arquivos
de texto sequenciais (às vezes referido como "text
stream"). Um caminho é usar o método CreateTextFile.
Para criar um arquivo de texto vazio:

1 Dim fso As New FileSystemObject,


fil As File
2 Set fil = fso.CreateTextFile("c:\testfile.txt", True)
Nota: O modelo FSO
não suporta ainda a criação de arquivos randômicos
ou binários. Para criar estes tipos de arquivos, use o
comando Open com o argumento Random ou Binary. 
Um outro meio é usar o método OpenTextFile do FileSystemObject
com o flag ForWriting ligado:
1 Dim fso As New FileSystemObject,
ts As New TextStream
2 Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)
Ou você pode usar o método OpenTextStream
com o flag ForWriting ligado:

1 Dim fso As New FileSystemObject,


fil As File, ts As TextStream
2 Set fso = CreateObject("Scripting.FileSystemObject")
3 fso.CreateTextFile ("test1.txt")
4 Set fil = fso.GetFile("test1.txt")
5 Set ts = fil.OpenAsTextStream(ForWriting)
Adicionando Dados ao Arquivo
Para abrir o arquivo, você tem que usar
um de dois métodos: OpenAsTextStream do objeto File, ou
o método OpenTextFile do objeto FileSystemObject.

Para gravar dados para o arquivo texto, use ou


o método Write ou WriteLine do objeto TextStream. A única
diferença entre Write e WriteLine é que WriteLine
adiciona caracteres de final de linha à string gravada.
Se você quiser adicionar novas linhas ao arquivo de texto,
use o método WriteBlankLines.

Para fechar um arquivo aberto, use o método


Close do objeto TextStream. Aqui vai um exemplo de como abrir
um arquivo, usar os três métodos de gravação
e o seu fechamento:
1 Dim fso, txtfile
2 Set fso = CreateObject("Scripting.FileSystemObject")
3 Set txtfile = fso.CreateTextFile("c:\testfile.txt",
True)
4 txtfile.Write ("This is a test. ") ” Write a line.
5 ” Write a line with a newline character.
6 txtfile.WriteLine("Testing 1, 2, 3.") 
7 ” Write three newline characters to the file. 
8 txtfile.WriteBlankLines(3) 
9 txtfile.Close
Lendo Arquivos com os FileSystemObjects:
Para ler dados de um arquivo texto, use os métodos
Read, ReadLine ou ReadAll do objeto TextStream.

O que faz Método

Ler um número específico


de caracteres de um arquivo.
Read

Ler uma linha inteira(até, mas não


incluindo, o caractere de nova linha)
ReadLine

Ler o conteúdo total de um arquivo


texto
ReadAll

Se você usar os métodos Read ou ReadLine


e quiser saltar uma porção particular de dados,
você pode usar os métodos Skip ou SkipLine.
O texto resultante dos métodos de leitura é armazenado
em uma string que pode ser exibida num controle, manipulada por
operadores de strings (Tais como Left, Right, e Mid), concatenada
e assim por diante.

Nota: A constante vbNewLine contém


um caracter ou caracteres ( dependendo do sistema operacional)
para avançar o cursor para o início da próxima
linha (carriage-return/linefeed). Esteja consciente de que o final
de algumas strings pode conter estes caracteres não imprimíveis.
Exemplo:
1 Dim fso As New FileSystemObject,
txtfile, fil1 As File, ts As TextStream
2 Set txtfile = fso.CreateTextFile("c:\testando_asp.txt",
True)
3 MsgBox "Gravando arquivo"
4 Set fil1 = fso.GetFile("c:\testfile.txt")
5 Set ts = fil1.OpenAsTextStream(ForWriting)
6 ts.Write "TESTE@@!!!"
7 ts.Close
8 ” Lê o conteúdo do arquivo.
9 Set ts = fil1.OpenAsTextStream(ForReading)
10 s = ts.ReadLine
11 MsgBox s
12 ts.Close
Movendo, copiando, e excluindo arquivos
O modelo FSO tem dois métodos tando para mover, copiar
ou excluir arquivos.

O que faz: Método

Mover um arquivo
File.Move ou FileSystemObject.MoveFile

Copiar um arquivo
File.Copy ou FileSystemObject.CopyFile

Excluir um arquivo
File.Delete ou FileSystemObject.DeleteFile

Espero que tenham gostado, no próximo artigo,


vou botar um exemplo sobre FSO, abraços!

Você também pode gostar