Como utilizar a tabela dinâmica componente Web do Office com o VB

Traduções de Artigos Traduções de Artigos
Artigo: 235542 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo demonstra como utilizar o tabela dinâmica para o Office Web Component para apresentar informações de um formulário do Visual Basic.

Mais Informação

Os componentes Web do Office são um conjunto de controlos que permitem a procura de dados do Office. Uma vez que os componentes Web são controlos, pode colocá-los num formulário do Visual Basic e automatizar os componentes para apresentar dados.

Criar o exemplo de automatização

  1. Inicie o Visual Basic e crie um novo projecto EXE padrão. É criado o Form1 por predefinição.
  2. Em Project|References , adicione uma referência de ActiveX Data Objects 2.1 Library e clique em OK .
  3. Prima as teclas CTRL + T para apresentar a caixa de diálogo Adicionar componentes . Adicionar os componentes Web do Microsoft Office e, em seguida, clique em OK .

    Nota : Office XP inclui o Office 2000 e Office XP Web Components. Para utilizar o Office 2003 Web Components, adicione o Microsoft Office Web Components 11.0 biblioteca. Para utilizar os componentes Web do Office 2000, adicione a biblioteca Microsoft Office Web Components 9.0. Para utilizar o Office XP Web Components, adicionar a biblioteca Microsoft Office Web Components 10.0.
  4. Adicione uma tabela dinâmica ao formulário.
  5. Na janela código do Form1, insira o seguinte código:
    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. Em seguida, cria uma base de dados de exemplo utilizando o Microsoft Access. Inicie o Access e escolha a Base de dados em branco do Access . Guarde o ficheiro como c:\pivottest.mdb . Faça duplo clique em Criar tabela na vista de estrutura . Introduza os seguintes dados:

    Reduzir esta tabelaExpandir esta tabela
    Nome do campoTipo de dados
    ItemTexto
    CategoriaTexto
    PreçoNúmero
  7. Feche a janela e guarde as alterações como tabela1. Seleccione não para criar uma chave. Faça duplo clique tabela1 e introduza os seguintes dados:

    Reduzir esta tabelaExpandir esta tabela
    ItemCategoriaPreço
    NailsHardware5
    CamisaRoupa23
    MarteloHardware16
    SandwichComida5
    CalçasRoupa31
    QuentesComida2
  8. Feche o acesso para guardar o ficheiro.
  9. Prima a tecla F5 para executar o projecto. Após a execução, deve preencher a tabela dinâmica. Fazendo duplo clique numa célula com dados mostra o valor da célula e célula nomes de coluna e linha.

Referências

Para obter mais informações sobre automatização do Office, visite o site de suporte Microsoft Office Development em:
http://support.microsoft.com/ofd

Propriedades

Artigo: 235542 - Última revisão: 23 de outubro de 2006 - Revisão: 3.5
A informação contida neste artigo aplica-se a:
  • Microsoft Office PivotTable Component 9.0
  • Microsoft Office XP Web Components
  • Microsoft Office 2003 Web Components
Palavras-chave: 
kbmt kbautomation kbhowto kbweb KB235542 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 235542

Submeter comentários

 

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