G
Guest
I am wondeirng if there is a way to have the file dialog box (or something
similar) return a URL value from the selected file. Basically the issue I am
having is that I am trying to add hypertext links to files stored on a shared
network drive into an access table. Currently, using a pretty basic file
dialog approach, the hyperlink text will be based on the file path as defined
for each user. In other words, if the user has the network drive mapped as
the G drive, the hypertext value returned is "G:\\..." or if the user does
not have the drive mapped at all, the network-assigned URL for the drive is
returned (i.e. \\DriveName\...). The latter (the user-independent URL) is
actually what I desire to have returned as the value, so as to make the
hyperlink viable regardless of who the user is. The code I am currently
using is (where the Call function references a module that uploads data from
the specified file and writes the FileName data, the file path, to the
destination table):
Private Sub FileBrowser_Click()
' This requires a reference to the Microsoft Office 11.0 Object Library.
Dim fDialog As Office.FileDialog
Dim vrtselecteditem As Variant
' Clear the list box contents.
DoCmd.SetWarnings False
DoCmd.OpenQuery ("ClearTempFields")
DoCmd.SetWarnings True
Me.FileName.SetFocus
Me.FileName = ""
' Turn Warnings Off
DoCmd.SetWarnings False
' Set up the File dialog box.
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
' Allow the user to make multiple selections in the dialog box.
.AllowMultiSelect = True
' Set the title of the dialog box.
.Title = "Select Files to be Uploaded"
' Clear out the current filters, and then add your own.
.Filters.Clear
.Filters.Add "Excel Spreadsheets", "*.XLS"
' Show the dialog box. If the .Show method returns True, the
' user picked at least one file. If the .Show method returns
' False, the user clicked Cancel.
If .Show = True Then
' Loop through each file that is selected and then add it to the
list box.
For Each vrtselecteditem In .SelectedItems
Me.FileName.SetFocus
Me.FileName.Text = vrtselecteditem
Me.Requery
Me.Repaint
Call BatchTechReviewUpload(vrtselecteditem)
Next vrtselecteditem
Else
MsgBox "You clicked Cancel in the file dialog box."
DoCmd.SetWarnings True
Exit Sub
End If
End With
MsgBox "All files have been uploaded."
DoCmd.Close acForm, "BatchUploadFileBrowserForm"
DoCmd.SetWarnings False
DoCmd.OpenQuery "ClearTempFields"
DoCmd.SetWarnings True
End Sub
similar) return a URL value from the selected file. Basically the issue I am
having is that I am trying to add hypertext links to files stored on a shared
network drive into an access table. Currently, using a pretty basic file
dialog approach, the hyperlink text will be based on the file path as defined
for each user. In other words, if the user has the network drive mapped as
the G drive, the hypertext value returned is "G:\\..." or if the user does
not have the drive mapped at all, the network-assigned URL for the drive is
returned (i.e. \\DriveName\...). The latter (the user-independent URL) is
actually what I desire to have returned as the value, so as to make the
hyperlink viable regardless of who the user is. The code I am currently
using is (where the Call function references a module that uploads data from
the specified file and writes the FileName data, the file path, to the
destination table):
Private Sub FileBrowser_Click()
' This requires a reference to the Microsoft Office 11.0 Object Library.
Dim fDialog As Office.FileDialog
Dim vrtselecteditem As Variant
' Clear the list box contents.
DoCmd.SetWarnings False
DoCmd.OpenQuery ("ClearTempFields")
DoCmd.SetWarnings True
Me.FileName.SetFocus
Me.FileName = ""
' Turn Warnings Off
DoCmd.SetWarnings False
' Set up the File dialog box.
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
' Allow the user to make multiple selections in the dialog box.
.AllowMultiSelect = True
' Set the title of the dialog box.
.Title = "Select Files to be Uploaded"
' Clear out the current filters, and then add your own.
.Filters.Clear
.Filters.Add "Excel Spreadsheets", "*.XLS"
' Show the dialog box. If the .Show method returns True, the
' user picked at least one file. If the .Show method returns
' False, the user clicked Cancel.
If .Show = True Then
' Loop through each file that is selected and then add it to the
list box.
For Each vrtselecteditem In .SelectedItems
Me.FileName.SetFocus
Me.FileName.Text = vrtselecteditem
Me.Requery
Me.Repaint
Call BatchTechReviewUpload(vrtselecteditem)
Next vrtselecteditem
Else
MsgBox "You clicked Cancel in the file dialog box."
DoCmd.SetWarnings True
Exit Sub
End If
End With
MsgBox "All files have been uploaded."
DoCmd.Close acForm, "BatchUploadFileBrowserForm"
DoCmd.SetWarnings False
DoCmd.OpenQuery "ClearTempFields"
DoCmd.SetWarnings True
End Sub