VB でピボットテーブル Office Web コンポーネントを使用する方法

概要

この資料では、Visual Basic フォームの情報を表示するためにピボットテーブル Office Web コンポーネントを使用する方法について説明します。

詳細

Office Web コンポーネントは、Office データの表示を可能にするコントロールのセットです。Web コンポーネントはコントロールであるため、Visual Basic フォーム上に配置して、データ表示を自動化することができます。

オートメーション サンプル コードのビルド

  1. Visual Basic を起動して、新しい標準 EXE プロジェクトを作成します。デフォルトで Form1 が作成されます。
  2. [プロジェクト] メニューの [参照設定] をクリックし、[Microsoft ActiveX Data Objects 2.1 Library] への参照を追加して [OK] をクリックします。
  3. Ctrl + T キーを押して [コンポーネント] ダイアログ ボックスを表示します。Microsoft Office Web コンポーネントを追加して、[OK] をクリックします。


    : Office XP には、Office 2000 および Office XP の両方の Web コンポーネントが含まれています。Office 2003 Web コンポーネントを使用するには、Microsoft Office Web Components 11.0 ライブラリを追加します。Office 2000 Web コンポーネントを使用するには、Microsoft Office Web Components 9.0 ライブラリを追加します。Office XP Web コンポーネントを使用するには、Microsoft Office XP Web Components ライブラリを追加します。
  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 テーブル1"

    ' 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("分類")
    view.ColumnAxis.InsertFieldSet fsets("アイテム")

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

    ' 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 を起動し、[空のデータベース] をクリックします。c:\pivottest.mdb としてファイルを保存します。[デザイン ビューでテーブルを作成する] をダブルクリックし、次のデータを入力します。


    フィールド名
    データ型
    アイテム
    テキスト型
    分類
    テキスト型
    単価
    数値型
  7. ウィンドウを閉じて、変更をテーブル 1 として保存します。キーの作成に対して [いいえ] をクリックします。テーブル 1 をダブルクリックし、次のデータを入力します。


    アイテム
    分類
    単価

    ハードウェア
    5
    シャツ
    衣料品
    23
    ハンマー
    ハードウェア
    16
    サンドイッチ
    食品
    5
    パンツ
    衣料品
    31
    飲み物
    食品
    2
  8. Access を閉じ、ファイルを保存します。
  9. F5 キーを押して、プロジェクトを実行します。実行後、ピボットテーブルが作成されます。データがあるセルをダブルクリックすると、そのセルの値と行および列の名前が表示されます。

関連情報

Office オートメーションの詳細については、以下の Microsoft Office Development サポート サイトを参照してください。
プロパティ

文書番号:235542 - 最終更新日: 2005/12/19 - リビジョン: 1

フィードバック