使用Access VBA在网络位置中移动文件夹

时间:2019-04-10 04:26:06

标签: vba ms-access

我想使用Access VBA移动网络上的文件夹。

当我单击表单上的按钮时,它将执行VBA代码。

从代码中删除\\?\时,以下程序将移动本地PC文件夹。在任何网络文件夹路径之前使用\\?\,它将在网络上创建新文件夹。

当我想移动文件夹时,它会显示:

  

运行时错误5:无效的过程调用或参数。

调试时,突出显示objF.MoveFolder oldStr, newStr

Private Sub btnBrowse_Click()
Dim oldStr As String
Dim newStr As String
Dim objF As Object

Me.OldPath = Me.FolderPath
Me.NewPath = GetFolder()

If Len(Me.NewPath) > 0 Then
     Me.NewPath = "\\?\" & Me.NewPath
     Me.FolderPath = Me.NewPath

     Set objF = CreateObject("Scripting.FileSystemObject")

     oldStr = Me.OldPath & "\*"
     newStr = Me.NewPath & "\"

     objF.MoveFolder oldStr, newStr
End If

End Sub

2 个答案:

答案 0 :(得分:0)

使用Microsoft.Scripting.Runtime文件对象移动文件夹。

答案 1 :(得分:0)

我们不能使用这些\\?\路径。应使用常规路径。 \\?\与网络无关。网络是\\servername\sharename\folder\file.ext

我删除了\\?\,并且一切正常。 \\?\在识别路径上给MS Access造成了混乱,从而引发了错误。