コード例 #1
0
ファイル: tscformat.cs プロジェクト: tdev131287/techandmate
        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");
            }
        }
コード例 #2
0
ファイル: tscformat.cs プロジェクト: tdev131287/techandmate
        public void Format_Legend(PowerPoint.Chart myChart, bool hasLegend)
        {
            int Num;

            try
            {
                if (hasLegend == true)
                {
                    if (myChart.HasLegend == true)
                    {
                        PowerPoint.LegendEntries ln = myChart.Legend.LegendEntries();
                        Num = ln.Count;
                    }
                    else
                    {
                        PowerPoint.SeriesCollection sc = myChart.SeriesCollection();
                        Num = sc.Count;
                    }
                    if (Num > 1)
                    {
                        if (myChart.HasLegend == false)
                        {
                            myChart.HasLegend = true;
                        }
                        myChart.Legend.Font.Name = "Calibri";
                        myChart.Legend.Font.Size = 11;
                        myChart.Legend.Font.Bold = MsoTriState.msoFalse;
                        myChart.Legend.Position  = PowerPoint.XlLegendPosition.xlLegendPositionBottom;
                    }
                    else if (hasLegend == false)
                    {
                        if (myChart.HasLegend == true)
                        {
                            myChart.Legend.Delete();
                        }
                    }
                }
            }
            catch (Exception err)
            {
                string errtext = err.Message;
                PPTAttribute.ErrorLog(errtext, "Format_Legend");
            }
        }
コード例 #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);
            }
        }
コード例 #4
0
ファイル: tscformat.cs プロジェクト: tdev131287/techandmate
        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");
            }
        }