Esta función busca un archivo en cualquier unidad del pc (incluso en CD-ROM)
Es muchísimo mas rápida que la utilidad "Buscar" del menú inicio de Windows
Para llamarla:Código:Private Declare Function SearchTreeForFile Lib "imagehlp" (ByVal RootPath As String, ByVal InputPathName As String, ByVal OutputPathBuffer As String) As Long Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Public Function BuscarArchivo(ArchivoBuscado As String) As String Dim sDir As String, lRet As Long Dim lDrive As Long, sDrive As String, i As Integer Screen.MousePointer = vbHourglass lDrive = GetLogicalDrives For i = 0 To 25 ' buscar en todas las unidades If (lDrive And 2 ^ i) <> 0 Then sDrive = Chr$(65 + i) & ":\" sDir = String(260, 0) lRet = SearchTreeForFile(sDrive, ArchivoBuscado, sDir) If lRet <> 0 Then BuscarArchivo =Left$(sDir, InStr(1, sDir, Chr$(0)) - 1) Exit For End If End If Next i If lRet = 0 Then BuscarArchivo = "No encontrado" Screen.MousePointer = vbDefault End Function
Espero que le sirva a alguien.Código:Private Sub Command1_Click() Dim s As String s = BuscarArchivo(Text1) ' En Text1 está el nombre del archivo a buscar (con extensión). No vale *.* MsgBox s End Sub
SaludosEdited by: Anibal