在 Visual Studio 6 的宏中,我想运行外部程序,所以我输入:

shell("p4 open " + ActiveDocument.FullName)

这给了我一个类型不匹配的运行时错误。我最终不得不输入的是:

Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
strResult = wshShell.Run("p4 open " + ActiveDocument.FullName)

这里发生了什么?这些废话真的有必要吗还是我错过了什么?

有帮助吗?

解决方案

作为 拉塞夫克 指出,VBScript 不是 Visual Basic。

我相信 VBScript 中唯一内置的对象是 WScript 对象。

WScript.Echo "Hello, World!"

来自文档

WSCRIPT对象是Windows脚本主机对象模型层次结构的根对象。在调用其属性和方法之前,永远不需要实例化,并且始终可以从任何脚本文件中获得。

其他所有内容都必须通过 CreateObject 调用创建。其中一些对象是 此处列出.

Shell 对象是其中之一 其他 如果你想调用它的方法,你需要创建的对象。

需要注意的是,RegExp 是 有点 内置,您可以像 VBScript 中那样实例化 RegExp 对象:

Dim r as New RegExp

其他提示

VBScript 不是 Visual Basic。

尝试一下:

Shell "p4 open" & ActiveDocument.FullName

VB6 使用 & 来连接字符串而不是 +,并且您需要确保文件名包含在引号中以防出现空格。试试这样:

Shell "p4 open """ & ActiveDocument.FullName & """"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top