Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;Excel命令在同一工作簿中打开新工作表 我用C++来创建一个Excel图表。我的问题是我想在同一工作簿中创建多个图表。 这是我的代码: CoInitialize(NULL); Excel::_ApplicationPtr XL; XL.CreateInstance(L"Excel.Application"); XL->Visible=true; XL->Workbooks->Add(Excel::xlWorksheet); Excel::_WorksheetPtr pSheet = XL->ActiveSheet; pSheet->Name = "Name"; ... Excel::_ChartPtr pChart=XL->ActiveWorkbook->Charts->Add(); pChart->Name =arr1; ... CoUninitialize();_C++_Excel_For Loop - Fatal编程技术网

C++;Excel命令在同一工作簿中打开新工作表 我用C++来创建一个Excel图表。我的问题是我想在同一工作簿中创建多个图表。 这是我的代码: CoInitialize(NULL); Excel::_ApplicationPtr XL; XL.CreateInstance(L"Excel.Application"); XL->Visible=true; XL->Workbooks->Add(Excel::xlWorksheet); Excel::_WorksheetPtr pSheet = XL->ActiveSheet; pSheet->Name = "Name"; ... Excel::_ChartPtr pChart=XL->ActiveWorkbook->Charts->Add(); pChart->Name =arr1; ... CoUninitialize();

C++;Excel命令在同一工作簿中打开新工作表 我用C++来创建一个Excel图表。我的问题是我想在同一工作簿中创建多个图表。 这是我的代码: CoInitialize(NULL); Excel::_ApplicationPtr XL; XL.CreateInstance(L"Excel.Application"); XL->Visible=true; XL->Workbooks->Add(Excel::xlWorksheet); Excel::_WorksheetPtr pSheet = XL->ActiveSheet; pSheet->Name = "Name"; ... Excel::_ChartPtr pChart=XL->ActiveWorkbook->Charts->Add(); pChart->Name =arr1; ... CoUninitialize();,c++,excel,for-loop,C++,Excel,For Loop,。。。表示用数据填充表的部分代码。 当我只运行它一次时,它会创建一个带有一个工作表和一个绘图的新工作簿。但当我想将其放入for循环时,它会打开多个excel工作簿,所有这些工作簿都带有pair sheet/plot。但我希望它们都在一个工作簿中。 顺便说一句,我把for循环放在这行后面:XL->Visible=true;并在初始化()之前完成它 谢谢你的帮助 嗯,我不知道Excel COM API,我自己上次使用COM已经很久了,但是,我认为很明显,这些语句 XL->Workbooks-&

。。。表示用数据填充表的部分代码。 当我只运行它一次时,它会创建一个带有一个工作表和一个绘图的新工作簿。但当我想将其放入for循环时,它会打开多个excel工作簿,所有这些工作簿都带有pair sheet/plot。但我希望它们都在一个工作簿中。 顺便说一句,我把for循环放在这行后面:XL->Visible=true;并在初始化()之前完成它


谢谢你的帮助

嗯,我不知道Excel COM API,我自己上次使用COM已经很久了,但是,我认为很明显,这些语句

XL->Workbooks->Add(Excel::xlWorksheet);
Excel::_WorksheetPtr pSheet = XL->ActiveSheet;
pSheet->Name = "Name";
指示Excel添加新工作簿(工作簿为复数形式,其添加方法可以合理假设为创建新工作簿),然后在其中创建新工作表

鉴于这种说法

Excel::_ChartPtr pChart = XL->ActiveWorkbook->Charts->Add();
我假设还应该有一个
XL->ActiveWorkbook->Sheets
,其方法是
Add()
,该方法在当前工作簿中创建一个新工作表,并返回指向它的指针。因此,我将尝试在当前活动工作簿中创建一个新工作表,而不是
XL->workbook->Add


注意到我没有阅读任何关于这个答案的文档,这只是我从方法命名和了解微软OOP方案使用的方式(多年前)的假设。对不起,我在VS C++中工作,但是我只知道C命令…我找到了关于这个主题的简短教程,所以我不知道如何更改代码中的任何内容。我更正了问题谢谢,我同意你的看法,但我不知道正确的语法。@user1151026:你知道,语法没有什么特别之处。本质上,您处理的是指向结构的指针,这些数据元素是函数指针。与C++和类实例唯一的区别是,类成员函数接收一个指向类数据“结构”的指针,作为第一个隐藏的参数,称为<代码> < <代码>。谢谢DeNeW狼,语法上有一个小错误,您的建议帮助了!