我们的系统正在转向云存储,因此我们的个人驱动器很快就会消失,因此我需要将应用程序保存到用户 OneDrives。
这对我来说是新领域,我在网上阅读的内容没有多大意义。
这是我到目前为止所拥有的:
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Dim FileExistsbol As Boolean
Dim stFileName As String
Dim CopyFrom As String
Dim CopyTo As String
stFileName = "C:\Users\" & Environ("UserName") & "\OneDrive - Company"
stFileName = Trim(stFileName)
FileExistsbol = dir(stFileName) <> vbNullString
If FileExistsbol Then
Kill stFileName
CopyFrom = "C:\Test File.txt"
CopyTo = "C:\Users\" & Environ("UserName") & "\OneDrive - Company"
FileSystemObject.CopyFile CopyFrom, CopyTo
Else
CopyFrom = "C:\Test File.txt"
CopyTo = "C:\Users\" & Environ("UserName") & "\OneDrive - Company"
FileSystemObject.CopyFile CopyFrom, CopyTo
End If
此代码以前适用于复制到本地驱动器,但相信这次它不起作用,因为它尝试复制到的新驱动器是基于网络的。
错误: 实际上没有填充任何错误
如有任何帮助,我们将不胜感激
请注意,您的变量
stFileName
包含目录路径而不是文件名,因此 kill
表达式的目标是目录。
但是,不要测试和删除文件,而是使用
overwrite
方法的 CopyFile
参数,例如:
Dim objFSO As New FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\Test File.txt", "C:\Users\" & Environ("UserName") & "\OneDrive - Company", True
Set objFSO = Nothing
您需要在项目中添加对 Microsoft Scripting Runtime 的引用,才能使用早期绑定定义我的示例中的
objFSO
变量。