public void Format_YAxis2(PowerPoint.Chart myChart, bool hasYAxis, string chType) { try { bool secAxis = false; PowerPoint.SeriesCollection sc = myChart.SeriesCollection(); if (chType == "Pie" || chType == "Doughnut" || chType == "Surface") { return; } if (chType == "Radar" || chType == "Stock") { hasYAxis = true; } for (int i = 1; i <= sc.Count; i++) { if (myChart.SeriesCollection(i).AxisGroup == 2) { secAxis = true; break; } //XlAxisGroup.xlSecondary } if (secAxis == true) { if (hasYAxis == true) { myChart.HasAxis[XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary] = true; if (myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).HasTitle == true) { PowerPoint.Font fontObj = myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font; fontObj.Name = "Calibri"; fontObj.Bold = MsoTriState.msoTrue; fontObj.Size = 11; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Color = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb(); myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Strikethrough = MsoTriState.msoFalse; fontObj.Superscript = MsoTriState.msoFalse; fontObj.Subscript = MsoTriState.msoFalse; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.OutlineFont = MsoTriState.msoFalse; fontObj.Shadow = MsoTriState.msoFalse; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Underline = XlUnderlineStyle.xlUnderlineStyleNone; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Background = PowerPoint.XlBackground.xlBackgroundAutomatic; } myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).Border.LineStyle = PowerPoint.XlLineStyle.xlContinuous; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).Border.Color = System.Drawing.Color.FromArgb(127, 127, 127).ToArgb(); myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).Border.Weight = PowerPoint.XlBorderWeight.xlHairline; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).MajorTickMark = PowerPoint.XlTickMark.xlTickMarkOutside; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).TickLabelPosition = PowerPoint.XlTickLabelPosition.xlTickLabelPositionNextToAxis; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).TickLabels.AutoScaleFont = false; // ------ PowerPoint.Font fontObjTB = myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).TickLabels.Font; fontObjTB.Name = "Calibri"; fontObjTB.Bold = MsoTriState.msoTrue; fontObjTB.Size = 11; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Color = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb(); myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Strikethrough = MsoTriState.msoFalse; fontObjTB.Superscript = MsoTriState.msoFalse; fontObjTB.Subscript = MsoTriState.msoFalse; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.OutlineFont = MsoTriState.msoFalse; fontObjTB.Shadow = MsoTriState.msoFalse; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Underline = XlUnderlineStyle.xlUnderlineStyleNone; myChart.Axes(XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary).AxisTitle.Font.Background = PowerPoint.XlBackground.xlBackgroundAutomatic; } // Check hasAxis is true else if (hasYAxis == false) { myChart.HasAxis[XlAxisType.xlValue, PowerPoint.XlAxisGroup.xlSecondary] = false; } } } // Close Main if Check the chart type catch (Exception err) { string errtext = err.Message; PPTAttribute.ErrorLog(errtext, "Format_YAxis2"); } }
private void frmChartcalc_Load(object sender, EventArgs e) { List <string> SelectedCharts = new List <string>(); List <String> xxVals = new List <string>(); List <String> yyVals = new List <string>(); List <string> Seriesname = new List <string>(); try { int sld_num = ppApp.ActiveWindow.Selection.SlideRange.SlideNumber; SelectedCharts = PPTshpchk.FindSelectedCharts(); string shp_nam = SelectedCharts[0]; PowerPoint.Chart myChart = ActivePPT.Slides[sld_num].Shapes[shp_nam].Chart; PowerPoint.SeriesCollection series = ActivePPT.Slides[sld_num].Shapes[shp_nam].Chart.SeriesCollection(); num_points = ActivePPT.Slides[sld_num].Shapes[shp_nam].Chart.SeriesCollection(1).Points.Count; num_series = series.Count; chtData = new string[num_points, num_series + 1]; for (int x = 0; x < num_series; x++) { string sName = myChart.SeriesCollection(x + 1).Name; Seriesname.Add(sName); PowerPoint.Series tseries = (PowerPoint.Series)myChart.SeriesCollection(x + 1); xxVals.Clear(); foreach (object item in tseries.Values as Array) { xxVals.Add(Convert.ToString(item)); } string[] yVals = xxVals.ToArray(); yyVals.Clear(); foreach (object item in tseries.XValues as Array) { yyVals.Add(Convert.ToString(item)); } string[] xVals = yyVals.ToArray(); //string[] yVals = myChart.SeriesCollection(x).Values.toArray(); //string[] xVals = myChart.SeriesCollection(x).XValues.toArray(); //chtData[0, x ] = sName; for (int y = 0; y < yVals.Length; y++) { chtData[y, 0] = xVals[y]; chtData[y, x + 1] = yVals[y]; } } //for(int x=0;x< chtData.Length; x++) { cmb_stDate.Items.Add(Convert.ToString(chtData[x, 0])); } //for (int x = 0; x < chtData.Length; x++) { cmb_stDate.Items.Add(Convert.ToString(chtData[x, 0])); } cmb_stDate.Items.Clear(); cmb_endDate.Items.Clear(); cmb_Series.Items.Clear(); foreach (string item in yyVals) { //Regex.Match(item, @"\d+").Value cmb_stDate.Items.Add(Regex.Match(item, @"\d+").Value); cmb_stDate.SelectedIndex = 0; //cmb_endDate.Items.Add(item); //cmb_endDate.SelectedIndex = 0; } txt_period.Enabled = false; foreach (string item in Seriesname) { cmb_Series.Items.Add(item); cmb_Series.SelectedIndex = 0; } //Calculate_CAGR(); string cmbText = cmb_calcType.Text; cmb_calcType.Items.Add("CAGR"); cmb_calcType.Items.Add("AAGR"); cmb_calcType.SelectedIndex = 0; if (cmbText == "AAGR") { Calculate_AAGR(); } else { Calculate_CAGR(); } } catch (Exception err) { this.Close(); string errtext = err.Message; PPTAttribute.ErrorLog(errtext, "frmChartcalc_Load"); MessageBox.Show("Check chart type and chart value", PPTAttribute.msgTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public PPT.SeriesCollection GetAllChartSeries(PPT.Chart chart) { return((PPT.SeriesCollection)chart.SeriesCollection()); }