1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
Option Compare Database
Option Explicit
Private Declare Function MSAU_OfficeGetFileName Lib "msaccess.exe" Alias "#56" (gfni As WLIB_OFFICEGETFILENAMEINFO, ByVal fOpen As Integer) As Long
Public Enum OpenFileView
OpenViewDetail = 0
OpenViewPreview = 1
OpenViewProperties = 2
OpenViewList = 3
OpenViewThumbNail = 4
OpenViewIcon = 5
OpenViewMosaic = 8
End Enum
Private Type WLIB_OFFICEGETFILENAMEINFO
hwndOwner As Long
szAppName As String * 255
szDlgTitle As String * 255
szOpenTitle As String * 255
szFile As String * 4096
szInitialDir As String * 255
szFilter As String * 255
nFilterIndex As Long
lView As Long
flags As Long
End Type
Private Function wlib_StFromSz(szTmp As String) As String
Dim ich As Integer
ich = InStr(1, szTmp, vbNullChar, vbBinaryCompare)
If ich Then
wlib_StFromSz = Left$(szTmp, ich - 1)
Else
wlib_StFromSz = szTmp
End If
End Function
Private Function wlib_OfficeGetFileName(gfni As WLIB_OFFICEGETFILENAMEINFO, ByVal fOpen As Integer) As Long
Dim lRet As Long
gfni.szDlgTitle = RTrim$(gfni.szDlgTitle) & Chr$(0)
gfni.szOpenTitle = RTrim$(gfni.szOpenTitle) & Chr$(0)
gfni.szFile = RTrim$(gfni.szFile) & Chr$(0)
gfni.szInitialDir = RTrim$(gfni.szInitialDir) & Chr$(0)
gfni.szFilter = RTrim$(gfni.szFilter) & Chr$(0)
lRet = MSAU_OfficeGetFileName(gfni, fOpen)
gfni.szAppName = RTrim$(wlib_StFromSz(gfni.szAppName))
gfni.szDlgTitle = RTrim$(wlib_StFromSz(gfni.szDlgTitle))
gfni.szOpenTitle = RTrim$(wlib_StFromSz(gfni.szOpenTitle))
gfni.szFile = RTrim$(wlib_StFromSz(gfni.szFile))
gfni.szInitialDir = RTrim$(wlib_StFromSz(gfni.szInitialDir))
gfni.szFilter = RTrim$(wlib_StFromSz(gfni.szFilter))
wlib_OfficeGetFileName = lRet
End Function
Public Function GetOpenFile(Optional pTitle As String, Optional pInitialPath As String, _
Optional pButtonText As String, Optional pView As OpenFileView, _
Optional pFilter As String, Optional pFilterIndex As Long) As String
Dim lInfo As WLIB_OFFICEGETFILENAMEINFO
lInfo.szDlgTitle = pTitle
lInfo.hwndOwner = Application.hWndAccessApp
lInfo.lView = pView
lInfo.flags = &H40
lInfo.szFilter = pFilter
lInfo.nFilterIndex = pFilterIndex
lInfo.szInitialDir = pInitialPath
lInfo.szOpenTitle = pButtonText
wlib_OfficeGetFileName lInfo, True
GetOpenFile = RTrim$(lInfo.szFile)
End Function
Public Function GetOpenFolder(Optional pTitle As String, Optional pInitialPath As String, _
Optional pButtonText As String) As String
Dim lInfo As WLIB_OFFICEGETFILENAMEINFO
lInfo.szDlgTitle = pTitle
lInfo.hwndOwner = Application.hWndAccessApp
lInfo.lView = 3
lInfo.flags = &H20 Or &H4
lInfo.szInitialDir = pInitialPath
lInfo.szOpenTitle = pButtonText
wlib_OfficeGetFileName lInfo, True
GetOpenFolder = RTrim$(lInfo.szFile)
End Function |
Partager