我在MS Project上有一个VSTO。我用的是VB.NET。我需要的是当我按下我在功能区上创建的按钮时,它会执行一些代码来更新某些任务的信息,但是,我需要自动关闭MS Project。我尝试了application.FileCloseEx(),但它只关闭文件,MS Project仍然加载。我需要点击窗口的x按钮。
谢谢, 吉尔伯特
答案 0 :(得分:0)
如果您的MS Project应用程序对象由“appMSProject”表示,那么它就像这样简单:
appMSProject.Quit
或者在项目中运行的宏中说:
Application.Quit
以下是我在Excel或Access中使用VBA的方式。据我所知,对象&方法在VB.NET中是相同的。底线是我创建了一个MS Project对象的实例,它启动了应用程序&打开文件,执行一些工作,关闭文件,然后通过将其设置为Nothing来销毁MS Project对象。这有关闭应用程序的效果。您也可以使用“appMSProject.Quit”,然后将其设置为Nothing。坦率地说,第二个选项看起来更有秩序&在代码中更容易理解。无论如何,这是我的方式样本:
Dim appMSProject As MSProject.Application
Dim prjPrj As MSProject.Project
Dim strPrjFile As String
strPrjFile = "C:\where_is_my_file\file_name.mpp"
Set appMSProject = New MSProject.Application
appMSProject.FileOpenEx Name:=strPrjFile
Set prjPrj = appMSProject.ActiveProject
'''Do something in here with the prjPrj
'Close the file, in my case w/o saving
appMSProject.FileCloseEx pjDoNotSave
'Destroy the objects
Set prjPrj = Nothing
Set appMSProject = Nothing
仅供参考 - 在这个例子中,我正在做背景工作,所以我没有展示应用程序。我也使用“早期绑定”。
这是一个MSDN示例,它确实向应用程序显示了有关早期-s-late绑定的更多信息 - https://msdn.microsoft.com/en-us/library/office/ff865152.aspx