Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Os Objetos FSO
O modelo FSO contm estes objetos:
Objeto
Descrio
Drive
Folder
Files
http://www.codelines.com/manualvb/cap%C3%ADtulos/Cap%C3%ADtulo18.htm
1/7
19/9/2014
2/7
19/9/2014
GetFolder
GetFile
Por exemplo:
Dim fso As New FileSystemObject, fil As File
Set fil = fso.GetFile("c:\test.txt")
Note, contudo, que no necessrio usar os mtodos "get" para os objetos recm criados, j
que as funes de criao retornam uma referncia ao recm criado objeto. Por exemplo, se
voc criar uma nova pasta usando CreateFolder, no tem que usar o mtodo GetFolder para
acessar suas propriedades tais como Name, Size, Path e outras mais. Basta atribuir a uma
varivel o retorno da funo CreateFolder para ter acesso aos seus mtodos, propriedades e
eventos:
3/7
19/9/2014
Nota O modelo FSO no suporta ainda a criao de arquivos randmicos ou binrios. Para
criar estes tipos de arquivos, use o comando Open com o argumento Random ou Binary.
Um outro meio usar o mtodo OpenTextFile do FileSystemObject com o flag ForWriting
ligado:
Dim fso As New FileSystemObject, ts As New TextStream
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)
4/7
19/9/2014
Mtodo
Read
ReadLine
ReadAll
http://www.codelines.com/manualvb/cap%C3%ADtulos/Cap%C3%ADtulo18.htm
5/7
19/9/2014
texto
Se voc usar os mtodos Read ou ReadLine e quiser saltar uma poro particular de dados,
voc pode usar os mtodos Skip ou SkipLine.
O texto resultante dos mtodos 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 contm um caracter ou caracteres ( dependendo do sistema
operacional) para avanar o cursor para o incio da prxima linha (carriage-return/linefeed).
Esteja consciente de que o final de algumas strings pode conter estes caracteres no
imprimveis.
Exemplo
Sub Read_Files()
Dim fso As New FileSystemObject, txtfile, _
fil1 As File, ts As TextStream
Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
MsgBox "Gravando arquivo"
' Write a line.
Set fil1 = fso.GetFile("c:\testfile.txt")
Set ts = fil1.OpenAsTextStream(ForWriting)
ts.Write "Hello Mundo"
ts.Close
' L o contedo do arquivo.
Set ts = fil1.OpenAsTextStream(ForReading)
s = ts.ReadLine
MsgBox s
ts.Close
End Sub
Mtodo
Mover um arquivo
File.Move ou
FileSystemObject.MoveFile
Copiar um arquivo
File.Copy ou
FileSystemObject.CopyFile
Excluir um arquivo
File.Delete ou
FileSystemObject.DeleteFile
Exemplo
Este exemplo cria um arquivo texto no diretrio raiz do drive C, grava alguma informao nele, move o para um
diretrio chamado \tmp, faz uma cpia dele em um diretrio chamado \temp, e ento exclui as cpias de ambos
os diretrios.
http://www.codelines.com/manualvb/cap%C3%ADtulos/Cap%C3%ADtulo18.htm
6/7
19/9/2014
Para rodar este exemplo, esteja certo de que voc tem diretrios chamados \tmp e \temp no seu diretrio raiz do
drive C.
Sub Manip_Files()
Dim fso as New FileSystemObject, txtfile, fil1, fil2
Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
MsgBox "Gravando arquivo"
' Grava uma linha.
txtfile.Write ("Isto um teste.")
' Fecha o arquivo.
txtfile.Close
MsgBox "Move o arquivo para c:\tmp"
' Obtm uma referncia para o arquivo no diretrio
' raiz de C
Set fil1 = fso.GetFile("c:\testfile.txt")
' Move para \tmp directory.
fil1.Move ("c:\tmp\testfile.txt")
MsgBox "Copiando para c:\temp"
' Copy the file to \temp.
fil1.Copy ("c:\temp\testfile.txt")
MsgBox "Excluindo"
' Obtm referncias para os arquivos.
Set fil1 = fso.GetFile("c:\tmp\testfile.txt")
Set fil2 = fso.GetFile("c:\temp\testfile.txt")
' Exclui os arquivos.
fil1.Delete
fil2.Delete
MsgBox "Tudo terminado!"
End Sub
http://www.codelines.com/manualvb/cap%C3%ADtulos/Cap%C3%ADtulo18.htm
7/7