如何使用 VBA 启动现有 Minitab 项目并与之交互?
How do I Launch Existing Minitab Project using VBA and interact with it?
我对 VBA-Minitab 交互有更大的计划,但我需要先从小处着手。我只是试图打开现有的 Minitab 项目,计算现有的 sheets,并显示一个包含计数的消息框。我在关于 Minitab 的 15 篇帖子以及文档中搜索了答案,但一直找不到解决方案。
Sub GetModel()
Dim MtbApp As Mtb.Application
Dim MtbProj As Mtb.Project
Dim MtbSheets As Mtb.Worksheets
Set MtbApp = New Mtb.Application
Set MtbProj = MtbApp.ActiveProject
Set MtbSheets = MtbProj.Worksheets
MtbApp.UserInterface.Visible = False
MtbApp.UserInterface.DisplayAlerts = False
MtbApp.Open "P:\Tools\Models\MTB Model Test\NSS_Model_Test.MPJ"
MsgBox "There are " & MtbSheets.Count & " worksheets in the project."
MtbApp.Quit
End Sub
当我 运行 上面的代码时,相应的项目打开,一个消息框打开显示 1 sheet 在项目中,然后项目关闭。这个特定项目中有 8 sheets。此外,由于我之前所做的研究,我决定检查任务管理器以查看 minitab 应用程序是否真的正在关闭。它似乎继续 运行 在后台使用系统资源,即使代码提示它退出。
由于我初始化变量的顺序,这个具体的例子是错误的。下面的代码按预期运行。
Sub GetModel()
Dim MtbApp As Mtb.Application
Dim MtbProj As Mtb.Project
Dim MtbSheets As Mtb.Worksheets
Set MtbApp = New Mtb.Application
MtbApp.UserInterface.Visible = False
MtbApp.UserInterface.DisplayAlerts = False
MtbApp.Open "P:\Tools\Models\MTB Model Test\NSS_Model_Test.MPJ"
Set MtbProj = MtbApp.ActiveProject
Set MtbSheets = MtbProj.Worksheets
MsgBox "There are " & MtbSheets.Count & " worksheets in the project."
MtbApp.Quit
End Sub
我对 VBA-Minitab 交互有更大的计划,但我需要先从小处着手。我只是试图打开现有的 Minitab 项目,计算现有的 sheets,并显示一个包含计数的消息框。我在关于 Minitab 的 15 篇帖子以及文档中搜索了答案,但一直找不到解决方案。
Sub GetModel()
Dim MtbApp As Mtb.Application
Dim MtbProj As Mtb.Project
Dim MtbSheets As Mtb.Worksheets
Set MtbApp = New Mtb.Application
Set MtbProj = MtbApp.ActiveProject
Set MtbSheets = MtbProj.Worksheets
MtbApp.UserInterface.Visible = False
MtbApp.UserInterface.DisplayAlerts = False
MtbApp.Open "P:\Tools\Models\MTB Model Test\NSS_Model_Test.MPJ"
MsgBox "There are " & MtbSheets.Count & " worksheets in the project."
MtbApp.Quit
End Sub
当我 运行 上面的代码时,相应的项目打开,一个消息框打开显示 1 sheet 在项目中,然后项目关闭。这个特定项目中有 8 sheets。此外,由于我之前所做的研究,我决定检查任务管理器以查看 minitab 应用程序是否真的正在关闭。它似乎继续 运行 在后台使用系统资源,即使代码提示它退出。
由于我初始化变量的顺序,这个具体的例子是错误的。下面的代码按预期运行。
Sub GetModel()
Dim MtbApp As Mtb.Application
Dim MtbProj As Mtb.Project
Dim MtbSheets As Mtb.Worksheets
Set MtbApp = New Mtb.Application
MtbApp.UserInterface.Visible = False
MtbApp.UserInterface.DisplayAlerts = False
MtbApp.Open "P:\Tools\Models\MTB Model Test\NSS_Model_Test.MPJ"
Set MtbProj = MtbApp.ActiveProject
Set MtbSheets = MtbProj.Worksheets
MsgBox "There are " & MtbSheets.Count & " worksheets in the project."
MtbApp.Quit
End Sub