Buenas !!!!! Que tal? Tengo un problema y es que no se como extraer o saber la ruta de un archivo o directorio para luego poder abrirlo desde cualquier ordenador, ya sabes, por si cambian el directorio de instalacion. Muchas gracias Saludos rok24
Como no he entendido exactamente que es lo que quieres. Aquí tienes esto Crear un proyecto VB. Pones 2 Botones (BuscarDir y BuscarFic), y añades una referencia de controles a "Microsoft Common Dialog Control" Luego pegas éste código y lo pruebas '**************************************************************************************** ' API BuscarDirectorio '**************************************************************************************** Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type 'BROWSEINFO.ulFlags values: Const BIF_RETURNONLYFSDIRS = &H1 Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long 'In code... '********************************************************************************************************************** '** BuscarDirectorio '********************************************************************************************************************** Public Function BuscarDirectorio(ByVal hwnd As Long, Texto As String) As String Dim bInf As BROWSEINFO Dim RetVal As Long Dim PathID As Long Dim RetPath As String Dim Offset As Integer bInf.hOwner = hwnd bInf.lpszTitle = Texto bInf.ulFlags = BIF_RETURNONLYFSDIRS 'Muestra la ventana de busqueda de directorio PathID = SHBrowseForFolder(bInf) RetPath = Space$(512) RetVal = SHGetPathFromIDList(ByVal PathID, ByVal RetPath) If RetVal Then Offset = InStr(RetPath, Chr$(0)) BuscarDirectorio = Left$(RetPath, Offset - 1) Else BuscarDirectorio = "" End If End Function Private Sub BuscarDir_Click() MsgBox (BuscarDirectorio(Me.hwnd, "Buscar")) End Sub Private Sub BuscarFic_Click() CommonDialog1.ShowOpen MsgBox "Path + fichero " & CommonDialog1.FileName MsgBox "Path " & Left(CommonDialog1.FileName, InStrRev(CommonDialog1.FileName, "\")) MsgBox "Fichero" & Mid(CommonDialog1.FileName, InStrRev(CommonDialog1.FileName, "\") + 1) End Sub