Visual Basic 차트 웹 구성 요소를 사용하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 235885 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Office 차트 웹 구성 요소를 Visual Basic 폼에서 관련된 데이터를 시각화할 수 있는 방법에 대한 개요를 제공합니다. 좀 더 구체적으로 이 문서의 코드 예제에서 다음 작업을 수행하는 방법을 보여 줍니다.
  • 배열의 데이터에 대한 차트를 사용하십시오.
  • 차트 데이터에 대해 ADO 레코드 집합을 사용하십시오.
  • 스프레드시트 데이터를 차트에 사용하십시오.
  • 단일 차트 공간에서 다중 차트를 만듭니다.
  • 만들고 있는 혼합형 차트. - 및 -

  • 축, datalabels, 계열, plotareas 및 같은 다른 차트 구성 요소 서식을 지정합니다.

추가 정보

샘플 만드는 단계

  1. Visual Basic에서 새 표준 EXE 프로젝트를 시작하십시오. 기본적으로 Form1이 만들어집니다.
  2. 프로젝트 메뉴에서 구성 을 클릭하십시오. Microsoft Office 웹 구성 요소 9.0 선택하고 확인 을 클릭하십시오.
  3. 다음 컨트롤을 폼에 표시된 속성을 추가하십시오.

    표 축소표 확대
    형식이름캡션
    ChartSpaceChartSpace1-
    DataSourceControlDataSourceControl1-
    명령 단추Command1배열 사용
    명령 단추Command2ADO 레코드 집합 사용
    명령 단추Command3스프레드시트 사용


    참고: 많은 양식을 가능한 한 폼에서 다른 컨트롤의 허용하면서 걸리는 수 있도록 양식의 ChartSpace 컨트롤에 크기.
  4. 다음 코드를 Form1의 모듈 추가:
    Private Sub Command1_Click()
    
        'Create arrays for the x-values and the y-values
        Dim xValues As Variant, yValues1 As Variant, yValues2 As Variant
        xValues = Array("Beverages", "Condiments", "Confections", _
                        "Dairy Products", "Grains & Cereals", _
                        "Meat & Poultry", "Produce", "Seafood")
        yValues1 = Array(104737, 50952, 78128, 117797, 52902, 80160, 47491, _
                         62435)
        yValues2 = Array(20000, 15000, 36000, 56000, 40000, 18000, 20000, _
                         33000)
        
        'Create a new chart
        Dim oChart As WCChart
        ChartSpace1.Clear
        ChartSpace1.Refresh
        Set oChart = ChartSpace1.Charts.Add
        
        'Add a title to the chart
        oChart.HasTitle = True
        oChart.Title.Caption = "Sales Per Category"
        
        'Add a series to the chart with the x-values and y-values
        'from the arrays and set the series type to a column chart
        Dim oSeries As WCSeries
        Set oSeries = oChart.SeriesCollection.Add
        With oSeries
            .Caption = "1995"
            .SetData chDimCategories, chDataLiteral, xValues
            .SetData chDimValues, chDataLiteral, yValues1
            .Type = chChartTypeColumnClustered
        End With
        
        'Add another series to the chart with the x-values and y-values
        'from the arrays and set the series type to a line chart
        Set oSeries = oChart.SeriesCollection.Add
        With oSeries
            .Caption = "1996"
            .SetData chDimCategories, chDataLiteral, xValues
            .SetData chDimValues, chDataLiteral, yValues2
            .Type = chChartTypeLineMarkers
        End With
        
        'Add a value axis to the right of the chart for the second series
        oChart.Axes.Add oChart.Axes(chAxisPositionLeft).Scaling, _
            chAxisPositionRight, chValueAxis
    
        'Format the Value Axes
        oChart.Axes(chAxisPositionLeft).NumberFormat = "$#,##0"
        oChart.Axes(chAxisPositionRight).NumberFormat = "0"
        oChart.Axes(chAxisPositionLeft).MajorUnit = 20000
        oChart.Axes(chAxisPositionRight).MajorUnit = 20000
        
        'Show the legend at the bottom of the chart
        oChart.HasLegend = True
        oChart.Legend.Position = chLegendPositionBottom
    
    End Sub
    
    Private Sub Command2_Click()
    
        'Set up the DataSourceControl for the Chartspace
        Dim rsd As RecordsetDef
        DataSourceControl1.ConnectionString = _
            "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
            "DBQ=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
        Set rsd = DataSourceControl1.RecordsetDefs.AddNew( _
                 "Select * from [Category Sales for 1995]", 3)
        With ChartSpace1
            .Clear
            .Refresh
            .DataSource = DataSourceControl1
            .DataMember = rsd.Name
        End With
         
        'This Chartspace will contain 2 charts. Make the layout so that the
        'charts are positioned horizontally
        ChartSpace1.ChartLayout = chChartLayoutHorizontal
        
        'Create a new bar chart from the query
        Dim oBarChart As WCChart
        Set oBarChart = ChartSpace1.Charts.Add
        With oBarChart
            .Type = chChartTypeBarClustered
            .SetData chDimCategories, 0, 0  'Categories are first field
            .SetData chDimValues, 0, 1      'Values are second field
        
            'Format the value axis for the bar chart so that it
            'shows values in thousands (i.e., 45000 displays as 45) and
            'in increments of 25000. Remove the gridlines
            With .Axes(chAxisPositionBottom)
                .NumberFormat = "0,"
                .MajorUnit = 25000
                .HasMajorGridlines = False
            End With
            
            'Change the color of the series and the plot area
            .SeriesCollection(0).Interior.Color = RGB(150, 0, 150)
            .PlotArea.Interior.Color = RGB(240, 240, 10)
        End With
        
        'Create a new exploded pie chart from the query
        Dim oPieChart As WCChart
        Set oPieChart = ChartSpace1.Charts.Add
        With oPieChart
            .Type = chChartTypePie
            .SetData chDimCategories, 0, 0  'Categories are first field
            .SetData chDimValues, 0, 1      'Values are second field
            .SeriesCollection(0).Explosion = 20
            
            'Add a legend to the bottom of the pie chart
            .HasLegend = True
            .Legend.Position = chLegendPositionBottom
            
            'Add a title to the chart
            .HasTitle = True
            .Title.Caption = "Sales by Category for 1995"
            .Title.Font.Bold = True
            .Title.Font.Size = 11
            
            'Make the chart width 50% the size of the bar chart's width
            .WidthRatio = 50
            
            'Show data labels on the slices as percentages
            With .SeriesCollection(0).DataLabelsCollection.Add
                .HasValue = False
                .HasPercentage = True
                .Font.Size = 8
                .Interior.Color = RGB(255, 255, 255)
            End With
            
        End With
        
    End Sub
    
    Private Sub Command3_Click()
    
       'Dynamically add a spreadsheet control to the form
       Dim oSheet As Spreadsheet
       Me.Controls.Add "OWC.Spreadsheet", "Sheet"
       Set oSheet = Me!Sheet
       
       'Fill the Sheet with data
       With oSheet
            .Range("A1:A10").Formula = "=Row()"
            .Range("B1:B10").Formula = "=A1^2"
            .Range("A12").Formula = "=Max(A1:A10)"
            .Range("B12").Formula = "=Max(B1:B10)"
       End With
       
       'Create an xy-scatter chart using the data in the spreadsheet
       Dim oChart As WCChart
       With ChartSpace1
            .Clear
            .Refresh
            .DataSource = oSheet.object
            Set oChart = .Charts.Add
            oChart.Type = chChartTypeScatterSmoothLineMarkers
            oChart.SetData chDimXValues, 0, "a1:a10"
            oChart.SetData chDimYValues, 0, "b1:b10"
       End With
       
       With oChart
            'Display the Axes Titles and
            'set the major units for the axes
            With .Axes(chAxisPositionBottom)
                .HasTitle = True
                .Title.Caption = "X"
                .Title.Font.Size = 8
                .MajorUnit = 1
            End With
            With .Axes(chAxisPositionLeft)
                .HasTitle = True
                .Title.Caption = "X Squared"
                .Title.Font.Size = 8
                .MajorUnit = 10
            End With
            
            'Set the maximum and minimum axis values
            .Scalings(chDimXValues).Maximum = oSheet.Range("A12").Value
            .Scalings(chDimXValues).Minimum = 1
            .Scalings(chDimYValues).Maximum = oSheet.Range("B12").Value
            
            'Change the marker and line styles for the series
            With .SeriesCollection(0)
                .Marker.Style = chMarkerStyleDot
                .Marker.Size = 6
                .Line.Weight = 1
                .Line.Color = RGB(255, 0, 0)
            End With
       End With
       
       'Remove the spreadsheet
       Me.Controls.Remove "Sheet"
       
    End Sub
    					
    참고: Command2_Click 이벤트 연결 문자열을 수정하여 Visual Basic 디렉터리로 기본적으로 설치되는 NWIND.MDB 경로를 올바르게 참조하는 할 수 있습니다:
       DataSourceControl1.ConnectionString = _
            "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
            "DBQ=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
    					
  5. 프로젝트 메뉴에서 속성 을 클릭하십시오. 만들기 탭을 사용하지 않는 ActiveX 컨트롤에 대한 정보 제거 선택을 선택하고 확인 을 클릭하십시오.
  6. 프로그램을 실행하려면 F5 키를 누릅니다.
  7. 사용 배열 단추를 클릭하십시오. 두 개의 값 축이 있는 혼합형 차트가 만들어집니다. 차트의 데이터를 배열 사용합니다.
  8. 사용 ADO 레코드 단추를 클릭하십시오. 두 차트, 차트 공간, 가로 막대형 차트 및 쪼개진 원형 차트와 데이터 레이블이 만들어집니다. 해당 차트 공간, DataSourceControl 해당 데이터 사용하며 ADO 연결을 통해 Access 데이터베이스에 있는 DataSourceControl 참조합니다.
  9. 사용 스프레드시트 단추를 클릭하십시오. 분산형 차트의 해당 데이터를 셀에 수식이 포함된 스프레드시트 컨트롤에 사용하는 만들어집니다. 스프레드시트 컨트롤에 동적으로 추가되고 런타임에 제거했습니다.

속성

기술 자료: 235885 - 마지막 검토: 2004년 7월 13일 화요일 - 수정: 1.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Chart Component 9.0, run time
키워드:?
kbmt kbhowto KB235885 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com