HOWTO: Visual Basic에서 피벗 테이블 Office Web Component 사용

요약

본 문서에서는 피벗 테이블 Office Web Component를 사용하여 Visual Basic 폼에 정보를 표시하는 방법을 설명합니다.

추가 정보

Office Web Component는 Office 데이터를 탐색할 수 있는 컨트롤의 집합입니다. Web Component는 컨트롤이기 때문에 Visual Basic 폼에 넣어 데이터를 표시하도록 구성 요소를 자동화할 수 있습니다.


자동화 예제 만들기

  1. Visual Basic을 시작하고 표준 EXE 프로젝트를 새로 만듭니다. Form1이 기본적으로 생성됩니다.
  2. 프로젝트참조에서 Microsoft ActiveX Data Objects 2.1 Library를 추가하고 확인을 누릅니다.
  3. Ctrl+T를 눌러 구성 요소 추가 대화 상자를 엽니다. Microsoft Office Web Components 9.0을 추가하고 확인을 누릅니다.
  4. 피벗 테이블을 폼에 추가합니다.
  5. Form1의 코드 창에 아래 코드를 삽입합니다.
    Option Explicit

    Dim cnnConnection As Object

    Private Sub Form_Load()
    Dim strProvider As String
    Dim view As PivotView
    Dim fsets As PivotFieldSets
    Dim c As Object
    Dim newtotal As PivotTotal

    strProvider = "Microsoft.Jet.OLEDB.4.0"
    ' Create an ADO object
    Set cnnConnection = CreateObject("ADODB.Connection")
    ' Set the provider and open the connection to the database
    cnnConnection.Provider = strProvider
    cnnConnection.Open "C:\pivottest.mdb"
    ' Set the pivot table's connection string to the cnnConnection's connection string
    PivotTable1.ConnectionString = cnnConnection.ConnectionString
    ' SQL statement to get everything from table1
    PivotTable1.CommandText = "Select * from table1"

    ' Get variables from the pivot table
    Set view = PivotTable1.ActiveView
    Set fsets = PivotTable1.ActiveView.FieldSets
    Set c = PivotTable1.Constants

    ' Add Category to the Row axis and Item to the Column axis
    view.RowAxis.InsertFieldSet fsets("Category")
    view.ColumnAxis.InsertFieldSet fsets("Item")

    ' Add a new total - Sum of Price
    Set newtotal = view.AddTotal("Sum of Price", view.FieldSets("Price").Fields(0), c.plFunctionSum)
    view.DataAxis.InsertTotal newtotal
    view.DataAxis.InsertFieldSet view.FieldSets("Price")

    ' Set some visual properties
    PivotTable1.DisplayExpandIndicator = False
    PivotTable1.DisplayFieldList = False
    PivotTable1.AllowDetails = False
    End Sub

    Private Sub Form_Terminate()
    ' Remove reference to the ADO object
    Set cnnConnection = Nothing
    End Sub

    Private Sub PivotTable1_DblClick()
    Dim sel As Object
    Dim pivotagg As PivotAggregate
    Dim sTotal As String
    Dim sColName As String
    Dim sRowName As String
    Dim sMsg As String

    ' Get the selection object you double-clicked on
    Set sel = PivotTable1.Selection
    ' If it is a aggregate, you can find information about it
    If TypeName(sel) = "PivotAggregates" Then
    ' Select the first item
    Set pivotagg = sel.Item(0)
    ' Display the value
    MsgBox "The cell you double-clicked has a value of '" & pivotagg.Value & "'.", vbInformation, "Value of Cell"

    ' Get variables from the cell
    sTotal = pivotagg.Total.Caption
    sColName = pivotagg.Cell.ColumnMember.Caption
    sRowName = pivotagg.Cell.RowMember.Caption

    ' Display the row and column name
    sMsg = "The value is " & sTotal & " by " & sRowName & " by " & sColName
    MsgBox sMsg, vbInformation, "Value Info"
    End If
    End Sub
  6. 다음에는 Microsoft Access를 사용하여 예제 데이터베이스를 만듭니다. Access를 시작하고 새 Access 데이터베이스를 선택합니다. 파일을 c:\pivottest.mdb로 저장합니다. 디자인 보기에서 새 테이블 만들기를 두 번 누릅니다. 아래 데이터를 입력합니다.


    Item
    Text
    Category
    Text
    Price
    Number
  7. 창을 닫고 변경 내용을 Table1로 저장합니다. 키를 만들 것인지 물으면 아니오를 선택합니다. Table1을 두 번 누른 다음 아래 데이터를 입력합니다.


    Nails
    Hardware
    5.25
    Shirt
    Clothing
    23.00
    Hammer
    Hardware
    16.25
    Sandwich
    Food
    5.00
    Pants
    Clothing
    31.00
    Drinks
    Food
    2.25
  8. 파일을 저장하고 Access를 닫습니다.
  9. F5 키를 눌러 프로젝트를 실행합니다. 프로젝트가 실행되면 피벗 테이블이 표시됩니다. 데이터가 있는 셀을 두 번 누르면 셀의 값, 셀의 열(Column) 이름 및 행 이름이 나타납니다.

참조

Office 자동화에 대한 자세한 내용을 보려면 아래의 Microsoft Office 개발 지원 사이트를 방문하십시오.

속성

문서 ID: 235542 - 마지막 검토: 2006. 5. 30. - 수정: 1

피드백