현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

이 브라우저는 지원되지 않습니다.

사이트를 사용하여 브라우저를 업데이트해야 합니다.

최신 버전의 Internet Explorer를 업데이트하세요.

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

이 문서는 이전에 다음 ID로 출판되었음: KR235542
요약
본 문서에서는 피벗 테이블 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 ExplicitDim cnnConnection As ObjectPrivate 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 = FalseEnd SubPrivate Sub Form_Terminate()  ' Remove reference to the ADO object  Set cnnConnection = NothingEnd SubPrivate 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 IfEnd Sub
  6. 다음에는 Microsoft Access를 사용하여 예제 데이터베이스를 만듭니다. Access를 시작하고 새 Access 데이터베이스를 선택합니다. 파일을 c:\pivottest.mdb로 저장합니다. 디자인 보기에서 새 테이블 만들기를 두 번 누릅니다. 아래 데이터를 입력합니다.

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

    NailsHardware5.25
    ShirtClothing23.00
    HammerHardware16.25
    SandwichFood5.00
    PantsClothing31.00
    DrinksFood2.25
  8. 파일을 저장하고 Access를 닫습니다.
  9. F5 키를 눌러 프로젝트를 실행합니다. 프로젝트가 실행되면 피벗 테이블이 표시됩니다. 데이터가 있는 셀을 두 번 누르면 셀의 값, 셀의 열(Column) 이름 및 행 이름이 나타납니다.
참조
Office 자동화에 대한 자세한 내용을 보려면 아래의 Microsoft Office 개발 지원 사이트를 방문하십시오.
속성

문서 ID: 235542 - 마지막 검토: 05/30/2006 06:20:00 - 수정: 3.1

  • Microsoft Office 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • kbweb kbautomation kbvbp500 kbvbp600 kbgrpdso KB235542
피드백
icrosoft.com/c.gif?DI=4050&did=1&t=">mp;t=">="text/javascript"> Asimov.clickstreamTracker.init(); >ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");