【问题标题】:How do I Launch Existing Minitab Project using VBA and interact with it?如何使用 VBA 启动现有 Minitab 项目并与之交互?
【发布时间】:2015-07-31 15:54:48
【问题描述】:

我对 VBA-Minitab 交互有更大的计划,但我需要先从小处着手。我只是试图打开一个现有的 Minitab 项目,计算现有的工作表,并显示一个带有计数的消息框。我在有关 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 张工作表,然后项目会关闭。这个特定的项目中有 8 张纸。此外,由于我之前所做的研究,我决定检查任务管理器以查看 minitab 应用程序是否真正关闭。即使代码提示它退出,它似乎仍会使用系统资源在后台继续运行。

【问题讨论】:

    标签: vba excel minitab


    【解决方案1】:

    由于我初始化变量的顺序,此特定示例出错。下面的代码按预期运行。

            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
    

    【讨论】:

      猜你喜欢
      • 2012-07-13
      • 2013-12-17
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      相关资源
      最近更新 更多