getObject函数的不同变体

时间:2019-02-04 11:44:38

标签: vbscript

我正在学习如何获取对现有对象实例的引用,并且遇到了getObject函数。在看到了可以调用函数的不同方式之后,我有些困惑。如果有人指出我正确的方向,我将不胜感激。

getObject方法接受两个都是可选的参数,但是一个参数需要为至少一个参数(文件名或程序标识符)提供一个值,以免发生任何错误:

GetObject([pathname] [, progID])

我有以下疑问,希望有经验的人可以澄清:

  • 如果我使用getObject之类的getObject(,"Word.Application")方法,它将把引用返回到单词application的现有实例。但是,如果有多个Microsoft Word实例打开,则将返回单词应用程序的哪个实例的引用?

  • 一个人可以使用语句set objWord = getObject("","Word.Application")创建对象的 new 实例,但语句set objWord = createObject("Word.Application")可以实现相同的目的。两条语句之间有什么区别吗?

  • 要创建单词 document 的新实例并将文档同时加载到内存中,我执行了代码:

Set worDoc = GetObject("C:\Users\ManJoey\Desktop\doc1.docx","Word.Document")
set worApp = worDoc.Application
worApp.Visible = true

但是我可以通过以下代码(通过删除ProgID值)实现相同的目的:

Set worDoc = GetObject("C:\Users\ManJoey\Desktop\doc1.docx")
set worApp = worDoc.Application
worApp.Visible = true

我知道我听起来可能很愚蠢,但是由于两个代码段的行为类似(或有什么区别?),我想知道progID函数中对参数getObject的需求是什么?

0 个答案:

没有答案