LER NOME DO ARQUIVO NA PASTA

RENATOIPSOFT 17/04/2013 16:28:09
#422080
Ola pessoal boa tarde
Alguém sabe como verificar uma pasta e trazer os nomes dos arquivo um a um.
Ler a pasta e trazer nomes de cada arquivos na pasta.
grato
GANDA.NICK 17/04/2013 17:09:22
#422083
Resposta escolhida
Olá,

tem aqui 2 maneiras de fazer isso... tinha isso aqui já feito

Option Explicit

Private Declare Function GetTickCount Lib [Ô]kernel32[Ô] () As Long

Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim tFolder As Folder
Dim tFile As File
Dim myArr() As String

Dim lStart As Long

Dim X As Integer

lStart = GetTickCount

Set tFolder = fso.GetFolder([Ô]c:\sua_pasta[Ô]) [ô]Change the directory accordingly.
For Each tFile In tFolder.Files
If LCase(Right(tFile.ShortName, 3)) = [Ô]txt[Ô] Then
ReDim Preserve myArr(X)
myArr(X) = tFile.Name
X = X + 1
End If
Next

Label1.Caption = GetTickCount - lStart

[ô]Dim FileName As Variant
[ô]For Each FileName In myArr
[ô] Debug.Print FileName
[ô]Next

Dim iMax As Integer

iMax = UBound(myArr)

For X = 0 To iMax
Debug.Print myArr(X)
Next [ô]x

MsgBox UBound(myArr)

End Sub

Private Sub Command2_Click()
Dim sArquivo As String, sPath As String
Dim i As Long
Dim myArr() As String

Dim lStart As Long

lStart = GetTickCount

sPath = [Ô]c:\sua_pasta\[Ô]
sArquivo = Dir(sPath & [Ô]*.TXT[Ô]) [ô]define busca de arquivos (no exemplo busca todos os *.TXT
Do Until sArquivo = [Ô][Ô]
ReDim Preserve myArr(i)
myArr(i) = sArquivo
i = i + 1
sArquivo = Dir() [ô]busca proximo arquivo
Loop

Label1.Caption = GetTickCount - lStart

Dim iMax As Integer
iMax = UBound(myArr)
For i = 0 To iMax
Debug.Print myArr(i)
Next [ô]x

MsgBox UBound(myArr)

End Sub



no exemplo do botao1 tem que referenciar [Ô]microsoft scripting runtime[Ô]

o botao2 é mais rapido

GetTickCount é para medir o tempo

RENATOIPSOFT 17/04/2013 18:54:27
#422093
obrigado meu amigo deu certinho
Tópico encerrado , respostas não são mais permitidas