From: james on
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

I should add I've been unable to find any information regarding this,
mostly unanswered questions.

On Nov 13, 9:26 am, james <james.i...(a)gmail.com> wrote:
> 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;