Nombre: Buscar un archivo usando APIs
Descripción:
Este es un módulo que abre el diálogo de buscar archivo usando la API de Windows, por lo que no necesita ningún control OCX. El nombre del archivo estará en el parámetro por referencia sFileName.
URL: http://www.mygnet.net/codigos/vb/apis/buscar_un_archivo_usando_apis.887
Código Fuente:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Abrir el diálogo de archivos '
' Gustavo Alberto Rodriguez '
' 2005 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
'______________________________________________________________________________
Public Sub OpenFileDialog(hWnd As Long, _
sFilter As String, _
sFileName As String, _
sInitialDir As String, _
sDialogTitle As String)
Dim OpenFile As OPENFILENAME
Dim lReturn As Long
sFileName = Trim$(sFileName)
sFileName = sFileName & String(257 - Len(sFileName), 0)
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner = hWnd
OpenFile.hInstance = 0 'App.hInstance
OpenFile.lpstrFilter = Replace(sFilter, "|", Chr$(0))
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = sFileName
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = sInitialDir
OpenFile.lpstrTitle = sDialogTitle
OpenFile.flags = 0
lReturn = GetOpenFileName(OpenFile)
If lReturn <> 0 Then
sFileName = Left(OpenFile.lpstrFile, _
InStr(OpenFile.lpstrFile, Chr$(0)) - 1)
End If
End Sub ' OpenFileDialog ----------------------------------------------------