【发布时间】:2020-11-19 06:16:42
【问题描述】:
我编写了这个 VBscript 来创建一个 zip 文件,然后将一个文件夹复制到其中。当我在 excel 中将脚本作为 Sub 运行时,它会创建文件并将文件夹完美地复制到其中,但是当我将其作为 .vbs 文件运行时,它会创建 zip 文件,并且没有其他任何事情发生。我尝试在创建 zip 文件之后但在它复制文件之前添加 wscript.sleep 10000 ,但仍然没有任何反应。我还尝试使用 FileExists 检查 zip 文件在复制之前是否存在,它返回 true 但仍然不会复制。这是代码。
Dim dtmValu
dtmValue = Now()
Dim DestPath
DestPath = "C:\Users\FirstUser\Desktop\Test\" & Month(dtmValue) & "_" & Day(dtmValue) & "_" & Year(dtmValue) & ".zip"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(DestPath, 8, vbTrue)
BlankZip = "PK" & Chr(5) & Chr(6)
For x = 0 To 17
BlankZip = BlankZip & Chr(0)
Next
ts.Write BlankZip
Set objFolder = Nothing
Set objShell = Nothing
Set fso = Nothing
Set ts = Nothing
Set objShell = CreateObject("shell.Application")
Set oFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objShell.Namespace(DestPath)
Dim sFolder
sFolder = "C:\Users\FirstUser\Desktop\TestSource\"
objFolder.CopyHere (oFso.GetAbsolutePathName(sFolder))
【问题讨论】:
-
我的意思是,聪明的答案是 vba vbscript
-
不确定它是否能解决问题,但我猜你不需要最后一行中的额外括号:
objFolder.CopyHere oFso.GetAbsolutePathName(sFolder)。 -
我尝试删除多余的括号,但没有任何变化。
标签: excel vba windows vbscript scripting