Grazie!
Così mi sembra che funzioni a dovere.![]()
codice:Option Explicit Private Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _ ByVal dwProcessId As Long) As Long Private Declare Function WaitForSingleObject Lib "kernel32" _ (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Const PROCESS_QUERY_INFORMATION = &H400 Const SYNCHRONIZE = &H100000 Const INFINITE = &HFFFFFFFF Private Sub Comando0_Click() Dim PID As Long, ExitEvent As Long Dim hProcess As Long Dim strFile As String Dim testo As String Dim iFileNum As Integer lstFile.RowSourceType = "Value List" lstFile.RowSource = "" PID = Shell("cmd.exe /c dir c:\cartella\*.* /b /A-D /O-D > c:\listafile.txt") hProcess = OpenProcess(PROCESS_QUERY_INFORMATION + SYNCHRONIZE, 0, PID) ExitEvent = WaitForSingleObject(hProcess, INFINITE) strFile = "c:\listafile.txt" If Len(Dir(strFile)) = 0 Then MsgBox ("File non trovato") Exit Sub End If iFileNum = FreeFile() Open strFile For Input As iFileNum Do While Not EOF(iFileNum) Line Input #iFileNum, testo lstFile.AddItem testo Loop Close iFileNum End Sub
Perfetto, grazie!
Un'ultima cosa: come posso dirgli di farmi vedere solo i file che cominciano ad esempio con "AX"?
tipo:
AX001
AX002
AXCDE
ma non
A001
A002
ACDE
ecc...
Trovato:
PID = Shell("cmd.exe /c dir c:\cartella\AX.* /b /A-D /O-D > c:\listafile.txt")
Devo provare con un "mid" per vedere se riesco ad elencare solo files che all'interno del nome hanno determinate lettere e trovare solo i files che al quarto e quinto carattere hanno AX
Tipo: rtyAX001
Secondo te è fattibile?
Originariamente inviato da alexxxb
Devo provare con un "mid" per vedere se riesco ad elencare solo files che all'interno del nome hanno determinate lettere e trovare solo i files che al quarto e quinto carattere hanno AX
Tipo: rtyAX001
Secondo te è fattibile?![]()
dir ???AX*
Ok, grazie.
Quindi sarebbe:
Giusto?codice:PID = Shell("cmd.exe /c dir c:\cartella\???AX.* /b /A-D /O-D > c:\listafile.txt")
Scusa mi approfitto della tua disponibilità un'ultima volta...
E se invece del mio AX come parametro fisso volessi impostarlo da un campo di una form?
Tipo:
???Forms!MiaForm!Campo1*.*
Potrebbe funzionare?
edit: ho provato così ma non funziona:
Hai idea di come posso fare?codice:PID = Shell("cmd.exe /c dir c:\cartella\??? & Forms!MiaForm!Campo1 & .* /b /A-D /O-D > c:\listafile.txt")
ciaocodice:PID = Shell("cmd.exe /c dir c:\cartella\???" & Forms!MiaForm!Campo1.value & "*.* /b /A-D /O-D > c:\listafile.txt")