首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Minitab自动化和跳过列

Minitab自动化和跳过列
EN

Stack Overflow用户
提问于 2017-09-28 12:30:58
回答 1查看 456关注 0票数 0

我的主要代码如下:

代码语言:javascript
复制
Mtb.Application MtbApp = new Mtb.Application();
MtbApp.UserInterface.Visible = true;
MtbApp.UserInterface.DisplayAlerts = false;

Mtb.Project MtbProj = MtbApp.ActiveProject;

Mtb.Columns MtbColumns;
Mtb.Column MtbColumn1;

Double[] data1;
Hashtable htSingleColumn;
List<double> listSingleColumn;

int i = 1 ;

foreach (DictionaryEntry de in htDataTable)
{
    htSingleColumn = (Hashtable)de.Value;

    listSingleColumn = (List<double>)htSingleColumn["listSingleData"];

    data1 = listSingleColumn.ToArray();

    MtbColumns = MtbProj.ActiveWorksheet.Columns;
    MtbColumn1 = MtbColumns.Add(null, null, i);

    MtbColumn1.SetData(data1);

    // strLowlim and strUpplim have no influence on this issue here 
    strCommand = "Capa C" + i+" 1;" + ((strLowlim == "NA") ? "" : ("  Lspec " + strLowlim + ";")) +((strUpplim == "NA") ? "" : ("  Uspec " + strUpplim + ";"))+ "  Pooled;  AMR;  UnBiased;  OBiased;  Toler 6;  Within;   Percent; CStat.";

    // The program is crashing here as a result of the columns not being created sequentially
    MtbProj.ExecuteCommand(strCommand);

    Mtb.Graph MtbGraph = MtbProj.Commands.Item(i).Outputs.Item(1).Graph;

    MtbGraph.SaveAs("C:\\MyGraph" + DateTime.Now.ToString("yyyy-MM-dd HHmmss"), true, Mtb.MtbGraphFileTypes.GFPNGHighColor);

    i++;
}

MtbApp.Quit();

当运行这段代码(注释掉崩溃部分)时,我得到以下输出:

它应该是这样的:

我对这个结果感到很困惑。变量i是正确的,但是影响列号的是什么?

我在网上找不到很多关于Minitab的信息。我刚在这里读到启动指南

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-28 13:01:31

这条线就是问题所在。

代码语言:javascript
复制
MtbColumn1 = MtbColumns.Add(null, null, i);

第三个参数Quantity指定要添加的列数。在循环的第一次迭代中,添加i = 1列,但在循环的第二次迭代中添加i = 2列。循环的每一次迭代都会添加一个额外的i列,而您真正想要的是每次添加一个列。

将行更改为:

代码语言:javascript
复制
MtbColumn1 = MtbColumns.Add();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46469231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档