ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   C# 2005 Excel access to Axis (xlSecondary) (https://www.excelbanter.com/excel-programming/411512-c-2005-excel-access-axis-xlsecondary.html)

[email protected]

C# 2005 Excel access to Axis (xlSecondary)
 
hi,

i don't get access to the secondary axis by using the excel interop in
c#

at the following code i get an error "Exception from HRESULT:
0x800A03EC" (-2146827284)


//Add a Chart for the selected data.
oChart = (Excel.Chart)wb.Charts.Add(Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

oChart.ChartType = XlChartType.xlColumnStacked;
oChart.set_HasAxis(Excel.XlAxisType.xlCategory,
Excel.XlAxisGroup.xlPrimary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlValue,
Excel.XlAxisGroup.xlPrimary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlCategory,
Excel.XlAxisGroup.xlSecondary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlValue,
Excel.XlAxisGroup.xlSecondary, true);

Excel.Axis axCategory2 =
(Excel.Axis)oChart.Axes(Excel.XlAxisType.xlCategor y,
Excel.XlAxisGroup.xlSecondary);
axCategory2.CategoryType = XlCategoryType.xlAutomaticScale;
axCategory2.Border.Weight = 1;

Excel.Axis axCategory =
(Excel.Axis)oChart.Axes(Excel.XlAxisType.xlCategor y,
Excel.XlAxisGroup.xlPrimary);
axCategory.Border.LineStyle = Excel.XlLineStyle.xlDot;
axCategory.TickLabels.Orientation =
XlTickLabelOrientation.xlTickLabelOrientationHoriz ontal;
axCategory.TickLabels.Font.Size = 8;

oResizeRange = oWS.get_Range("B1:B" + anzDSReal.ToString(),
Missing.Value);
oChart.SetSourceData(oResizeRange, Excel.XlRowCol.xlColumns);
oChart.HasLegend = false;
....

can anyone help?

Thx
Thomas

Jon Peltier

C# 2005 Excel access to Axis (xlSecondary)
 
I can't say anything intelligent about the C# piece of your problem. For
plain old Excel/VBA I'd suggest checking that (a) you had two or more series
in the chart and that at least one series was in the xlSecondary AxisGroup,
and (b) the secondary axis doesn't coincide with a primary axis, because
sometimes if both axes are located along the same edge of the chart, one
(usually primary) prevents access to the other (usually secondary). The
position of an axis is set by the CrossesAt and CrossesAtMaximum properties
of the orthogonal axis (i.e., secondary value axis position controlled by
properties of secondary category axis), which also must exist.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
Peltier Technical Services, Inc. - http://PeltierTech.com
_______


wrote in message
...
hi,

i don't get access to the secondary axis by using the excel interop in
c#

at the following code i get an error "Exception from HRESULT:
0x800A03EC" (-2146827284)


//Add a Chart for the selected data.
oChart = (Excel.Chart)wb.Charts.Add(Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

oChart.ChartType = XlChartType.xlColumnStacked;
oChart.set_HasAxis(Excel.XlAxisType.xlCategory,
Excel.XlAxisGroup.xlPrimary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlValue,
Excel.XlAxisGroup.xlPrimary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlCategory,
Excel.XlAxisGroup.xlSecondary, true);
oChart.set_HasAxis(Excel.XlAxisType.xlValue,
Excel.XlAxisGroup.xlSecondary, true);

Excel.Axis axCategory2 =
(Excel.Axis)oChart.Axes(Excel.XlAxisType.xlCategor y,
Excel.XlAxisGroup.xlSecondary);
axCategory2.CategoryType = XlCategoryType.xlAutomaticScale;
axCategory2.Border.Weight = 1;

Excel.Axis axCategory =
(Excel.Axis)oChart.Axes(Excel.XlAxisType.xlCategor y,
Excel.XlAxisGroup.xlPrimary);
axCategory.Border.LineStyle = Excel.XlLineStyle.xlDot;
axCategory.TickLabels.Orientation =
XlTickLabelOrientation.xlTickLabelOrientationHoriz ontal;
axCategory.TickLabels.Font.Size = 8;

oResizeRange = oWS.get_Range("B1:B" + anzDSReal.ToString(),
Missing.Value);
oChart.SetSourceData(oResizeRange, Excel.XlRowCol.xlColumns);
oChart.HasLegend = false;
...

can anyone help?

Thx
Thomas





All times are GMT +1. The time now is 11:59 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com