Perhaps you can try the code yourself.
You'll neeed:
A list box called "mylistbox" set to "value list"
A command button called "browsefile"
A text box calle "directory"
A label called "myhyperlink"
A image box called "imageframe2"
A check box called "addcheck"
You can disable the cose for the imageframe and "addcheck" pretty easily I suppose though...
Just past this all onto the form code and it should work..
Thanks,
<code>
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
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 Sub browsefile_Click()
Const OFN_ALLOWMULTISELECT = &H200&
Const OFN_EXPLORER = &H80000
Dim filenames$(), str
Dim OFName As OPENFILENAME
OFName.lStructSize = Len(OFName)
'Set the parent window
OFName.hWndOwner = Me.hwnd
'Set the application's instance
'OFName.hInstance = App.hInstance
'Select a filter
OFName.lpstrFilter = "Jpegs (*.jpg)" + chr$(0) + "*.jpg" + chr$(0) + "All Files (*.*)" + chr$(0) + "*.*" + chr$(0)
'create a buffer for the file
OFName.lpstrfile = space$(1054)
'set the maximum length of a returned file
OFName.nMaxFile = 1055
'Create a buffer for the file title
OFName.lpstrFileTitle = space$(1054)
'Set the maximum length of a returned file title
OFName.nMaxFileTitle = 1055
'Set the initial directory
If [directory] <> "" Then
OFName.lpstrInitialDir = [directory]
Else
OFName.lpstrInitialDir = "\\Dataserver\"
End If
'Set the title
OFName.lpstrTitle = "Open File"
'No flags
OFName.flags = OFN_ALLOWMULTISELECT Or OFN_EXPLORER
'Show the 'Open File'-dialog
If GetOpenFileName(OFName) Then
If [Check25] = -1 Then
mylistbox.RowSource = mylistbox.RowSource
Else
mylistbox.RowSource = ""
End If
z = 1
For i = 1 To Len(trim$(OFName.lpstrfile))
i = InStr(z, trim$(OFName.lpstrfile), chr(0))
If i = 0 Then Exit For
ReDim Preserve filenames

filenames

= Mid(trim$(OFName.lpstrfile), z, i - z)
z = i + 1
y = y + 1
Next
If y = 2 Then
str = filenames(0)
w = 0
For z = 1 To Len(str)
chars = Right(str, z)
If InStr(chars, "\"

> 0 Then
Exit For
End If
w = w + 1
Next z
flname = Right(str, w)
direcname = left(str, Len(str) - w)
Me![directory] = direcname & "\"
mylistbox.RowSource = flname & ";"
Else
For i = 0 To y - 2
If i = 0 Then
Me![directory] = filenames(0) & "\"
Else
mylistbox.RowSource = mylistbox.RowSource & filenames(i) & ";"
End If
Next i
End If
Else
MsgBox "You Have Canceled Your Browsing"
End If
End Sub
</code>