Prev: Macro to populate cell value from another sheet based upon the data validation list selection
Next: Addin compatibility between Excel 2k3 and Excel 2k7
From: james on 13 Nov 2009 10:31 I am working on a C# add-in that modifies pivot tables. I have done this work in VBA, and the object model seems straightforward, e.g., PivotTable-PivotFields-PivotItems, but I can not get the object for PivotItems, or iterate through the items. Do I need something other than PivotItems? Code for PivotFields, that works: IExcel.PivotFields pvtfs = (IExcel.PivotFields)pvtTable.get_PageFields (Missing.Value); foreach (IExcel.PivotField pvtf in pvtfs) { Code for the does nto work, and PivotItems shows no values (as in count): IExcel.PivotItems pvtis = (IExcel.PivotItems)pvtf.PivotItems (Missing.Value); foreach (IExcel.PivotItem pvti in pvtis) { Similarly, even though I can iterate the CubeFields, I can not edit some parameters, although I can retrieve its value, e.g., trying to modify EnablemultiplePageitems throws an error: IExcel.CubeFields cbfs = (IExcel.CubeFields)pvtTable.CubeFields; foreach (IExcel.CubeField cbf in cbfs) { string cbfname = cbf.Name; bool cbfMultiPage = cbf.EnableMultiplePageItems; if (cbfname == dimensionName & cbfMultiPage == false) { cbf.EnableMultiplePageItems = true;
From: james on 16 Nov 2009 09:19
I should add I've been unable to find any information regarding this, mostly unanswered questions. On Nov 13, 10:31 am, james <james.i...(a)gmail.com> wrote: > I am working on aC#add-in that modifies pivot tables. I have done > this work in VBA, and the object model seems straightforward, e.g., > PivotTable-PivotFields-PivotItems, but I can not get the object for > PivotItems, or iterate through the items. Do I need something other > than PivotItems? > > Code for PivotFields, that works: > > IExcel.PivotFields pvtfs = (IExcel.PivotFields)pvtTable.get_PageFields > (Missing.Value); > foreach (IExcel.PivotField pvtf in pvtfs) > { > > Code for the does nto work, and PivotItems shows no values (as in > count): > > IExcel.PivotItems pvtis = (IExcel.PivotItems)pvtf.PivotItems > (Missing.Value); > foreach (IExcel.PivotItem pvti in pvtis) > { > > Similarly, even though I can iterate the CubeFields, I can not edit > some parameters, although I can retrieve its value, e.g., trying to > modify EnablemultiplePageitems throws an error: > > IExcel.CubeFields cbfs = (IExcel.CubeFields)pvtTable.CubeFields; > foreach (IExcel.CubeField cbf in cbfs) > { > string cbfname = cbf.Name; > bool cbfMultiPage = cbf.EnableMultiplePageItems; > > if (cbfname == dimensionName & cbfMultiPage == false) > { > cbf.EnableMultiplePageItems = true; |