在运行.bat
中VBA
中的Excel
文件时,我发现/了解如何解决以下问题。尝试执行时,出现Open File - Security Warning
提示。
问题是我没有管理权限,因此无法将.bat
文件设置为被此提示忽略,而这个.bat
文件是我自己创建的,因此我没有不明白为什么我的计算机将其标记为潜在有害。
如果任何人都可以解释一种解决方法,以及尽管它是一个自定义生成的.bat
文件,但为什么还会出现此问题,我将不胜感激。解决方法是指修改当前必须处理的代码,而不必经过管理员。
下面是与该问题有关的代码片段,谢谢:
sub test()
'some stuff
Open MY_FILENAME For Output As #FileNumber
Print #FileNumber, FileContents
Print #FileNumber, "exit"
Close #FileNumber
'run batch file
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim rtn As Integer
rtn = wsh.Run(Chr(34) & MY_FILENAME & Chr(34), windowStyle, waitOnReturn)
end sub
我应该补充一点,如果像这样运行外壳程序,那么我就没有问题:
rtn = Shell(MY_FILENAME, vbNormalFocus)
除了外壳未关闭并完成其执行之外,代码仍将继续运行。我需要外壳停止运行,直到它执行任务为止。