You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何GetObject方法调用失败?VSTO与VBA场景异常排查

问题:通过GetObject获取MSProject.Application对象后无法正常调用属性/方法

我在Visual Studio中开发了一款VSTO应用,一直使用以下代码获取Microsoft Project的应用对象:

using MSP = Microsoft.Office.Interop.MSProject;
using VB = Microsoft.VisualBasic;

if (IsMSProjectIsOpen())
{
     pApp = (MSP.Application)VB.Interaction.GetObject(Class: "MSProject.Application");
}
else
{
     pApp = CreateMSProjectApp();
}

这段代码长期运行正常,但近日在某用户的电脑上出现调用失败的情况。为排查问题,我在该电脑上通过Microsoft Project的VBA编辑器测试GetObject方法:

Sub Test()

    Dim app As MSProject.Application
    
    Set app = GetObject(Class:"MSProject.Application")

End Sub

正常情况下,执行上述VBA代码后,本地窗口能显示app对象的完整变量列表:
正常状态下的本地窗口

但在出现问题的电脑上,执行相同代码后,app对象虽非空,但展开本地窗口显示No Variables:
显示No Variables的本地窗口

当尝试访问该对象的属性或方法时,会抛出错误:
错误提示信息

请问这是什么原因?


内容的提问来源于stack exchange,提问作者Kenny Arnold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:32:58