【发布时间】:2021-01-02 22:16:02
【问题描述】:
我想使用 vbscript 自动备份我的 excel 文件。 它可以复制整个文件夹,但我只想复制 xlsx 文件。 这是到目前为止的代码:
Dim objFSO, objFolder, evrFiles
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set evrFiles = objFolder.Files
For Each evrFile in evrFiles
If InStr(1, evrFile.Name, ".xlsx", vbBinaryCompare) > 0 Then
objFSO.CopyFile "C:\Users\Home\Desktop\vbs\" & evrFile.Name, "E:\test2"
End If
Next
WScript.Quit
它在第 5 行 char 1 "Object required: " "
上抛出错误有什么想法吗?
LE:我也试过了:
Dim objFSO, objFolder
Set wshNetwork = CreateObject("WScript.Network")
strUser = wshNetwork.Username
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Users\" & strUser & "\Desktop\vbs")
Set evrFiles = objFolder.Files
For Each evrFile in evrFiles
If InStr(1, evrFile.Name, ".xlsx", vbBinaryCompare) > 0 Then
objFSO.CopyFile "C:\Users\" & strUser & "\Desktop\vbs\" & evrFile.Name, "E:\test2"
End If
Next
WScript.Quit
但是这个给了我“Permission denied on line 9 char 3”
这个工作(复制整个文件夹),但我只想要 excel 文件。
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshNetwork = CreateObject("WScript.Network")
strUser = wshNetwork.Username
objFSO.CopyFolder"C:\Users\" & strUser & "\Desktop\vbs","E:\test2"
【问题讨论】:
-
那么您是否拥有文件夹 C:\Users\" & strUser & "\Desktop\vbs\ 和 E:\test2 的权限?并尝试将目的地设为 "E:\test2\"
-
@lostbard 是的,因为如果我尝试复制整个文件夹,它会起作用