如何將 PivotTable Office Web 元件與 VB 搭配使用

文章翻譯 文章翻譯
文章編號: 235542 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何使用 PivotTable Office Web 元件,在 Visual Basic 表單上顯示資訊。

其他相關資訊

Office Web 元件是一組啟用 Office 資料瀏覽功能的控制項。由於 Web 元件是控制項,因此,您可以將這些控制項放在 Visual Basic 表單上,並使這些元件自動顯示資料。

建立自動化範例

  1. 開啟 Visual Basic,並建立新的標準執行檔專案。根據預設會建立 Form1。
  2. [專案] | [參考] 底下,新增 [Microsoft ActiveX Data Objects 2.1 Library] 的參考,然後按一下 [確定]
  3. 按下 CTRL+T 鍵,以顯示 [新增元件] 對話方塊。新增 Microsoft Office Web 元件,然後按一下 [確定]

    注意: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 Web Components 10.0 程式庫。
  4. 將 PivotTable 新增至表單。
  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。按兩下 [使用設計檢視建立資料表]。輸入下列資料:

    摺疊此表格展開此表格
    欄位名稱資料類型
    項目文字
    類別文字
    價格數字
  7. 關閉視窗並將變更另存為 Table1。詢問您是否建立索引鍵,請選取 [否]。按兩下 Table1 並輸入下列資料:

    摺疊此表格展開此表格
    項目類別價格
    釘子五金5
    襯衫衣物23
    鐵錘五金16
    三明治食品5
    褲子衣物31
    飲料食品2
  8. 關閉 Access 以儲存檔案。
  9. 按下 F5 鍵以執行專案。開始執行之後,應該會填入樞紐分析表。按兩下含有資料的儲存格,即會顯示儲存格的值以及儲存格的欄名和列名。

?考

如需有關 Office Automation 的詳細資訊,請造訪 Microsoft Office Development 支援網站:
http://support.microsoft.com/ofd

屬性

文章編號: 235542 - 上次校閱: 2005年12月14日 - 版次: 3.4
這篇文章中的資訊適用於:
  • Microsoft Office PivotTable Component 9.0
  • Microsoft Office Web Components
  • Microsoft Office Web Components
關鍵字:?
kbhowto kbweb kbautomation KB235542
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。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