FomulaOne Chart Sample1 - bami74/me GitHub Wiki

                   '***** ๋„ํ‘œ์— ๋ฐ์ดํ„ฐ ์ ์šฉ
                   ChartF1.ChartData = l_ChartData
                    
                    '***** ์ฑ ํŠธ ํ˜•ํƒœ ์ง€์ •
                    ChartF1.ChartType = VtChChartType2dCombination
                    ChartF1.Title.Location.Visible = True
                    ChartF1.Title.Location.LocationType = VtChLocationTypeTop
                    ChartF1.Title.Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    ChartF1.Title.Font.Size = 12
                    ChartF1.Title.Font.Bold = True
                    ChartF1.Title.Text = sTitleText
                    
                    '***** ๋ฐ์ดํƒ€ ํ–‰์—ด ๋ฐ”๊พธ๊ธฐ ์„ค์ •
                    ChartF1.Plot.DataSeriesInRow = True
                    
                    '***** ์ฑ ํŠธ ๊ทธ๋ฃน1 : ์„ 
                    ChartF1.Plot.SeriesCollection.Item(1).SeriesType = VtChSeriesType2dLine
                    
                    '***** ์ฑ ํŠธ ๊ทธ๋ฃน1 : ๋งˆ์ปค
                    ChartF1.Plot.SeriesCollection.Item(1).SeriesMarker.Auto = False
                    ChartF1.Plot.SeriesCollection.Item(1).SeriesMarker.Show = True
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).Marker.Style = VtMarkerStyleFilledCircle
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).Marker.Size = 6
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).Marker.Pen.VtColor = RGB(79, 129, 189)
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).Marker.FillColor = RGB(79, 129, 189)
                    
                    '***** ์ฑ ํŠธ ๊ทธ๋ฃน2 : ๋ฐ”
                    ChartF1.Plot.SeriesCollection.Item(2).SeriesType = VtChSeriesType2dBar
                    ChartF1.Plot.SeriesCollection.Item(3).SeriesType = VtChSeriesType2dBar
                    
                    '***** ์ฑ ํŠธ ๋ˆ„์ ๋ฐ” ์„ค์ •
                    ChartF1.Plot.SeriesCollection.Item(1).Position.Order = 1
                    ChartF1.Plot.SeriesCollection.Item(1).Position.StackOrder = 1
                    ChartF1.Plot.SeriesCollection.Item(2).Position.Order = 2
                    ChartF1.Plot.SeriesCollection.Item(2).Position.StackOrder = 1
                    ChartF1.Plot.SeriesCollection.Item(3).Position.Order = 2
                    ChartF1.Plot.SeriesCollection.Item(3).Position.StackOrder = 2
                    
                    '***** ์ฑ ํŠธ ์„ธ๋ถ€ ์„ค์ •
                    ChartF1.Plot.SeriesCollection.Item(1).Pen.Width = 2
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).Brush.FillColor = RGB(79, 129, 189)
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).EdgePen.VtColor = RGB(79, 129, 189)
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).DataPointLabel.ValueFormat = "#,###"
                    ChartF1.Plot.SeriesCollection.Item(1).DataPoints(0).DataPointLabel.Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    
                    ChartF1.Plot.SeriesCollection.Item(2).DataPoints(0).Brush.FillColor = RGB(192, 80, 77)
                    ChartF1.Plot.SeriesCollection.Item(2).DataPoints(0).EdgePen.VtColor = RGB(192, 80, 77)
                    ChartF1.Plot.SeriesCollection.Item(2).DataPoints(0).DataPointLabel.LocationType = VtChLabelLocationTypeCenter
                    ChartF1.Plot.SeriesCollection.Item(2).DataPoints(0).DataPointLabel.ValueFormat = "#,###"
                    ChartF1.Plot.SeriesCollection.Item(2).DataPoints(0).DataPointLabel.Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    
                    ChartF1.Plot.SeriesCollection.Item(3).DataPoints(0).Brush.FillColor = RGB(155, 187, 89)
                    ChartF1.Plot.SeriesCollection.Item(3).DataPoints(0).EdgePen.VtColor = RGB(155, 187, 89)
                    ChartF1.Plot.SeriesCollection.Item(3).DataPoints(0).DataPointLabel.LocationType = VtChLabelLocationTypeCenter
                    ChartF1.Plot.SeriesCollection.Item(3).DataPoints(0).DataPointLabel.ValueFormat = "#,###"
                    ChartF1.Plot.SeriesCollection.Item(3).DataPoints(0).DataPointLabel.Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    
                    
                    '***** ์ฑ ํŠธ ์•„์›ƒ๋ผ์ธ, ์ƒ‰์ƒ, ๊ธ€๊ผด ์„ค์ •
                    ChartF1.Plot.Wall.Pen.Style = VtPenStyleNull
                    ChartF1.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleNull
                    ChartF1.Plot.Axis(VtChAxisIdX).Pen.VtColor = RGB(150, 150, 150)
                    
                    ChartF1.Plot.Axis(VtChAxisIdY).Pen.VtColor = RGB(150, 150, 150)
                    ChartF1.Plot.Axis(VtChAxisIdY).Labels.Item(1).format = "#,###"
                    
                    ChartF1.Plot.Axis(VtChAxisIdY2).AxisGrid.MajorPen.VtColor = RGB(200, 200, 200)
                    
                    ChartF1.Legend.Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    ChartF1.Plot.Axis(VtChAxisIdX).Labels.Item(1).Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    ChartF1.Plot.Axis(VtChAxisIdY).Labels.Item(1).Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    ChartF1.Plot.Axis(VtChAxisIdY2).Labels.Item(1).Font.Name = "๋ง‘์€ ๊ณ ๋”•"
                    
                    '***** ํ•ญ๋ชฉ ์ข…๋ฅ˜ ํ‘œ์‹œ ๊ด€๋ จ ์„ค์ •
                    ChartF1.Legend.Location.Visible = True
                    ChartF1.Legend.Location.LocationType = VtChLocationTypeBottom
                    ChartF1.Plot.Axis(VtChAxisIdY2).AxisScale.Hide = True

#If Win32 Then
   Dim metafile&
#Else
   Dim metafile%
#End If
                
                    Dim MapMode%, ObjID&
                    Dim X1!, Y1!, X2!, Y2!
                    Dim ExtentX&, ExtentY&
                    
                    
                    ' Cell coordinates of where to put the chart
                    X1 = ltX - 1
                    Y1 = ltY + 5
                    X2 = ltX + 5
                    Y2 = ltY + 20
                    
                    MapMode = 8 ' Anisotropic Mode (Stretchable)
                    
                    ' Get the metafile from the chart
                    ChartF1.GetMetafile VtPictureOptionNoSizeHeader, metafile, ExtentX, ExtentY
                    
                    Dim cntObjChart As Integer
                    ReDim Preserve l_objChartList_1(UBound(l_objChartList_1) + 1)
                    cntObjChart = UBound(l_objChartList_1)
                  
                    Dim sChartFileName As String
                    sChartFileName = "C:\temp\bpm\" & Me.Name & "_sheet1_" & cntObjChart & ".wmf"
                    l_objChartList_1(cntObjChart).iSheet = F1.sheet
                    l_objChartList_1(cntObjChart).sFileName = sChartFileName
                    l_objChartList_1(cntObjChart).sRCNrStart = F1.FormatRCNr(Y1 + 1, X1 + 1, False)
                    l_objChartList_1(cntObjChart).sRCNrEnd = F1.FormatRCNr(Y2, X2, False)
                    
                    ChartF1.WritePictureToFile sChartFileName, VtPictureTypeWMF, 0 ', ExtentX / 15, ExtentY / 15
                    
                    ' Place it on the spreadsheet
                    F1.ObjNewPicture X1, Y1, X2, Y2, ObjID, metafile, MapMode, ExtentX, ExtentY