据http://support.microsoft.com/kb/288902/en-us访问ADP/MDB在GetObject(“文档名称”)调用中使用的正确“文档名称”是什么?
您还可以连接到特定的实例 如果你知道在那种情况下打开的 文档的名称。对于 例如,如果一个Excel的实例是 名为 第二册打开的工作簿上运行,以下代码将 成功,即使 它不是最早的实例 推出该实例:
Set xlApp = GetObject("Book2").Application
这个例子适用于Excel,主要是因为“文档名称”与文件名几乎相同。我需要为Access工作。
我有用户运行不同访问应用程序(.ADP)的多个实例,我需要得到一个具有特定名称。我不知道完整的文件路径,否则我可以做一个简单的
Set app = GetObject("c:\my\app\myapp.adp", "Access.Application")
目前,我去打电话
Set app = GetObject(, "Access.Application")
和检查返回Application.Name。如果它是好的,我用它来调用它的一些功能,如果不是它失败的话。我听说过运行对象表,但是因为我必须在VBScript中获取对象,所以它有点太多的API调用。
底线: 访问ADP在GetObject(“文档名称”)调用中使用的正确“文档名称”是什么以及它返回的是哪种类型的对象?
Excel的单个实例可以打开多个文档,但Access的单个实例一次只能打开一个数据库。如果您需要打开多个数据库,则必须打开多个Access实例。我不确定在两个Access实例中打开相同的MDB/ACCDB/ADP会发生什么情况。 – 2010-06-07 20:15:37
是的,我确实有多个Access实例,每个实例都用于不同的数据库/ ADP。这就是为什么GetObject(,“Access.Application”)让我无处可去/可能返回错误的实例。我只是不知道数据库的路径,但我知道(希望)数据库(我创建它们)的“文档名称”,它不需要路径(在Excel中以这种方式工作)。 – Oliver 2010-06-08 07:44:39