Beispiel #1
0
        public void Format_Series(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 == "Column")
                {
                    for (int i = 1; i <= sc.Count; i++)
                    {
                        PowerPoint.Series chartSeries = myChart.SeriesCollection(i);

                        myChart.SeriesCollection(i).Format.Line.Visible       = MsoTriState.msoTrue;
                        myChart.SeriesCollection(i).Format.Line.ForeColor.RGB = System.Drawing.Color.FromArgb(255, 255, 255).ToArgb();
                        chartSeries.Format.Line.Weight = (float)0.75;
                    }
                }
            }
            catch (Exception err)
            {
                string errtext = err.Message;
                PPTAttribute.ErrorLog(errtext, "Format_PlotArea");
            }
        }
Beispiel #2
0
        public PPT.Series GetChartSeriesByName(PPT.Chart chart, string seriesName)
        {
            var sc = (PPT.SeriesCollection)chart.SeriesCollection();

            PPT.Series seriesToReturn = null;

            int counter = 1;
            int total   = sc.Count + 1;

            do
            {
                var series = sc.Item((counter));
                if (series.Name == seriesName)
                {
                    seriesToReturn = series;
                }
                counter++;
            }while (counter != total);

            return(seriesToReturn);
        }
Beispiel #3
0
        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);
            }
        }