我希望使用 VBA 更新外部输入文件的链接。我是一名开发人员,我使用的链接输入文件的路径将与最终用户在将其放入生产文件夹后所需的路径不同。
有没有办法使用 VBA 更新链接文件的位置?我已经有了允许用户指定输入文件位置的代码,并且该信息保存在 [Defaults] 表的 [InputFolder] 中。有没有办法使用 VBA 使用 InputFolder 字段信息更新链接表?
存储的 InputFolder 数据如下所示:C:\Users\CXB028\OneDrive - Comerica\Projects\HR\Input Data
新文件夹信息将定义一个我无权访问但用户可以访问的网络驱动器位置路径。
这是我用来定义和存储输入文件夹位置的代码:
Private Sub btnInputFldr_Click()
On Error GoTo Err_Proc
Const msoFileDialogFolderPicker As Long = 4
Dim objfiledialog As Object
Dim otable As DAO.TableDef
Dim strPathFile As String, strFile As String, strpath As String
Dim strTable As String
Dim fldr As Object
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Choose Folder"
.Show
.InitialFileName = "" 'DFirst("InputFolder", "Defaults")
If .SelectedItems.Count = 0 Then
Exit Sub
Else
CurrentDb.Execute "UPDATE Defaults SET InputFolder='" & .SelectedItems(1) & "';"
End If
End With
Me.txtInputFldr.Requery
Exit Sub
Err_Proc:
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Process Error"
End Sub
在重新定义新的输入文件夹时,使用 VBA 代码将数据库移动到生产位置后,需要重新链接链接表(外部 Excel 电子表格)。