我正在学习如何获取对现有对象实例的引用,并且遇到了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
的需求是什么?