Clarck
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 16/11/2011 22:50 hs
Eu aqui denovo. Agora me deparei com outro problema, estou tentando fazer o envio de vários arquivos via FTP de uma determinada extensão. Achei um APP bem legal que seleciona os arquivos de extensão ".mp3". até ai tudo beleza, posso mudar para a extensão que eu uso e maravilha. Porém o APP sempre abre uma tela perguntando o caminho da pasta contendo os arquivos, mas no meu sistema eu não quero que solicite pois tenho a informação numa variavel. Mas como faço para jogar a informação da variavel String numa variavel Folder?
Segue linhas de comando do APP:
------------------------------------------------
Option Explicit Public Linha As Long Public pasta As Folder
Public Sub getFiles(pasta As Folder) Dim pst As Folder Dim item As FolderItem Dim itens As FolderItems Dim arquivo$, extensão$ Dim Ordem As Long Set itens = pasta.Items For Each item In itens If item.IsFolder Then Set pst = item.GetFolder getFiles pst Else If Ordem = 0 Then Text1.Text = Text1.Text & " --- " & vbCrLf Ordem = Ordem + 1 arquivo = Ordem & " - " & Mid(item.Path, 4) extensão = Right$(arquivo, 4) If LCase$(extensão) = ".mp3" Then Text1.Text = Text1.Text & arquivo & vbCrLf Linha = Linha + 1 DoEvents End If End If Next Label1.Caption = Linha & " Títulos na pasta " & pasta End Sub
Private Sub Command1_Click() Dim sh As New Shell Text1.Text = "" Set pasta = sh.BrowseForFolder(Me.hWnd, "Selecionar Pasta", 0) If Not pasta Is Nothing Then getFiles pasta End If Linha = 0 End Sub -------------------------------------------------------
Obrigado pela ajuda
|
|
|
|
LCRamos
|
GOIANIA GO - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 17/11/2011 09:40 hs
Use o FileSystemObject
Private Function CONTAR() Dim fs, f, fc Set fs = CreateObject("Scripting.fileSystemObject") Set f = fs.GetFolder(SUAPASTA) Set fc = f.Files End Function
Não testei, mas deve funcionar
vlu//
|
|
|
|
Postada em 17/11/2011 16:33 hs
Mas desta forma irei apenas contar os arquivos certo? Na verdade eu preciso do nome do arquivo, pois tenho uma outra função que envia o arquivo para o FTP, então preciso filtrar todos os arquivos com a determinada extensão e jogar o nome dele na variavel para enviar.
|
|
|
Clarck
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 19/11/2011 14:23 hs
Resolvido...
Segue:
'Funcao do contador de arquivos========================================= Dim XMLCont As Long Private Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Declare Function FindMinFile Lib "kernel32" Alias "FindMinFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Public Function ContarArquivos(Caminho As String, Tipo As String) As Long
Dim WFD As WIN32_FIND_DATA Dim SA As SECURITY_ATTRIBUTES Dim r As Long Dim hFile As Long Dim bNext As Long Dim fCount As Long Dim currFile As String hFile = FindMinFile(Caminho & Tipo, WFD) If (hFile = INVALID_HANDLE_VALUE) Then ContarArquivos = 0 Exit Function End If If hFile Then Do fCount = fCount + 1 bNext = FindNextFile(hFile, WFD) Loop Until bNext = 0 End If r = FindClose(hFile) ContarArquivos = fCount End Function
|
|
|
|