【发布时间】:2017-07-03 22:48:52
【问题描述】:
多年来,我在多个不同版本的数据库中使用了 MS Access 中的 Shell 命令。最近,我收到了这个运行时错误 5 - 我使用多年的 Shell 命令的过程调用或参数无效。谁能告诉我是否有最近的 Windows 更新或可能导致此错误出现的 MS Office 更新?我目前正在使用 Office 2010 和 Office 2013,并且在多台计算机上的两个版本中都收到相同的错误。我什至尝试过创建一个简单的空数据库并直接进入 vba 窗口,并在即时窗口中尝试了一个简单的 Shell 命令:
Shell "C:\Notepad.bat", vbNormalFocus
Notepad.bat 里面有一个简单的命令:
cmd /C "Notepad.exe"
代码:
Shell "Notepad.exe", vbNormalFocus
确实有效,但是:
Shell "Cmd.exe", vbNormalFocus
在我测试它的每台机器上仍然给出相同的错误 5 消息。从 Windows 资源管理器运行批处理文件就可以了。非常感谢任何帮助。
【问题讨论】:
-
从 Excel 2003 测试了所有三个,它们都按预期工作。检查您输入的运行代码。您也可以尝试使用一 (1) 代替 vbNormalFocus。他们可能已将声明移至您未引用的某个库,尽管这似乎不太可能。你也可以试试所有的 Shell(...)
-
意思是 Call Shell(...) 或 SomeVar = Shell(...) 但不允许我编辑。
标签: vba shell batch-file ms-access cmd