Classe PivotCache (Excel VBA)

A classe PivotCache representa o cache de memória para um relatório de tabela dinâmica.

Set

Para usar uma variável de classe PivotCache, ela primeiro precisa ser instanciada por exemplo

Dim pvtcac as PivotCache
Set pvtcac = ActiveWorkbook.PivotCaches(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo PivotCache: PivotCaches.Item, PivotCaches.Create, PivotTable.PivotCache e Workbook.PivotCaches

For Each

Aqui está um exemplo de processamento dos itens PivotCache em uma coleção.

Dim pvtcac As PivotCache
For Each pvtcac In ActiveWorkbook.PivotCaches()
	
Next pvtcac

Temas

Os procedimentos a seguir nesta aula foram agrupados e são descritos em uma página de tema separada

Create with its procedures CreatePivotChart, CreatePivotTable e PivotCaches.Create

Métodos

Estes são os principais métodos da classe

MakeConnection - Estabelece uma conexão para o cache de tabela dinâmica especificado.

Refresh - Faz com que o PivotCache especificado seja redesenhado imediatamente.

ResetTimer - Redefine o timer de atualização para a tabela de consulta especificada ou o relatório de tabela dinâmica para o último intervalo definido por você usando a propriedade RefreshPeriod .

SaveAsODC - Salva a origem do cache de tabela dinâmica como um arquivo de conexão de dados do Microsoft Office.

PivotCaches.Item - Retorna um único objeto de uma coleção.

Propriedades

ADOConnection Retorna um objeto ADO Connection se o cache de tabela dinâmica estiver conectado a um fonte de dados OLE DB. A propriedade ADOConnection expõe a conexão do Microsoft Excel ao provedor de dados, permitindo que o usuário escreva código dentro do contexto da mesma sessão que o Excel está usando com ADO fonte relacional ou ADOMD (fonte OLAP). Somente leitura.

Dim adoADOConnection As ADOConnection
adoADOConnection = ActiveWorkbook.PivotCaches(1).ADOConnection

BackgroundQuery True se as consultas ao relatório de tabela dinâmica forem efetuadas de maneira assíncrona em segundo plano. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).BackgroundQuery = True

CommandText Retorna ou define a sequência de comando para a fonte de dados especificada. de leitura/gravação.

ActiveWorkbook.PivotCaches(1).CommandText =

CommandType Retorna ou define uma destas constantes XlCmdType : xlCmdCube, xlCmdDefault, xlCmdSqlou xlCmdTable.

ActiveWorkbook.PivotCaches(1).CommandType = xlCmdCube

Connection Retorna ou define uma cadeia de caracteres que contém um dos seguintes:.

ActiveWorkbook.PivotCaches(1).Connection =  "OLEDB;Provider=MSOLAP;Location=srvdata;Initial Catalog=National"

EnableRefresh True se o o cache de tabela dinâmica ou de consulta pude ser atualizado pelo usuário. O valor padrão é True. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).EnableRefresh = True

Index Retorna um valor Long que representa o número de índice do objeto dentro da coleção de objetos semelhantes.

Dim lngIndex As Long
lngIndex = ActiveWorkbook.PivotCaches(1).Index

IsConnected Retorna true se a propriedade MaintainConnection for truee o cache de tabela dinâmica estiver conectado atualmente à sua fonte. Retorna False se não estiver conectado no momento à sua fonte. Boolean somente leitura.

Dim booIsConnected As Boolean
booIsConnected = ActiveWorkbook.PivotCaches(1).IsConnected

LocalConnection Retorna ou define a sequência de conexão para um arquivo de cubo offline. String de leitura/gravação.

ActiveWorkbook.PivotCaches(1).LocalConnection =

MaintainConnection True se a conexão com a fonte de dados especificada for mantida após a atualização e até a pasta de trabalho ser fechada. O valor padrão é True. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).MaintainConnection = True

MemoryUsed Retorna a quantidade de memória usada atualmente pelo objeto, em bytes. Long somente leitura.

Dim lngMemoryUsed As Long
lngMemoryUsed = ActiveWorkbook.PivotCaches(1).MemoryUsed

MissingItemsLimit Retorna ou define a quantidade máxima de itens exclusivos por campo de tabela dinâmica retidos mesmo quando não há dados de suporte nos registros do cache. Leitura/gravação XlPivotTableMissingItems.

ActiveWorkbook.PivotCaches(1).MissingItemsLimit = xlMissingItemsDefault

OLAP Retorna True se o cache da tabela dinâmica estiver conectado a um servidor Online Analytical Processing OLAP. Boolean somente leitura.

Dim booOLAP As Boolean
booOLAP = ActiveWorkbook.PivotCaches(1).OLAP

OptimizeCache True se o cache de tabela dinâmica é otimizado quando construído. O valor padrão é False. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).OptimizeCache = True

Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveWorkbook.PivotCaches(1).Parent

QueryType Indica o tipo de consulta usado pelo Microsoft Excel para preencher o cache de tabela dinâmica. Somente leitura XlQueryType.

Dim xqtQueryType As XlQueryType
xqtQueryType = ActiveWorkbook.PivotCaches(1).QueryType

RecordCount Retorna o número de registros no cache de tabela dinâmica ou o número de registros no cache que contêm o item especificado. Long somente leitura.

Dim lngRecordCount As Long
lngRecordCount = ActiveWorkbook.PivotCaches(1).RecordCount

Recordset Retorna ou define um objeto Recordset que é usado como a fonte de dados para o cache de tabela dinâmica especificado. Leitura/gravação.

ActiveWorkbook.PivotCaches(1).Recordset =

RefreshDate Retorna a data em que o cache de tabela dinâmica foi atualizado pela última vez. Date somente leitura.

Dim dtRefreshDate As Date
dtRefreshDate = ActiveWorkbook.PivotCaches(1).RefreshDate

RefreshName Retorna o nome da pessoa que atualizou os dados do cache de tabela dinâmica pela última vez. String somente leitura.

Dim strRefreshName As String
strRefreshName = ActiveWorkbook.PivotCaches(1).RefreshName

RefreshOnFileOpen True se o cache de tabela dinâmica for atualizado automaticamente toda vez que a pasta de trabalho for aberta. O valor padrão é False. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).RefreshOnFileOpen = True

RefreshPeriod Retorna ou define o número de minutos entre as atualizações. Long de leitura/gravação.

ActiveWorkbook.PivotCaches(1).RefreshPeriod = 15

RobustConnect Retorna ou define como o cache de tabela dinâmica se conectará à respectiva fonte de dados. Leitura/gravação XlRobustConnect.

ActiveWorkbook.PivotCaches(1).RobustConnect = xlAlways

SavePassword True se a informação de senha de uma sequência de conexão ODBC for salva junto com a consulta especificada. False se a senha for removida. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).SavePassword = True

SourceConnectionFile Retorna ou define um String que indica o arquivo Microsoft Office Data Connection ou semelhante usado para criar a tabela dinâmica. Leitura/gravação.

ActiveWorkbook.PivotCaches(1).SourceConnectionFile =

SourceData Retorna a fonte de dados para um relatório de tabela dinâmica, como mostra a tabela a seguir. de leitura/gravação.

ActiveWorkbook.PivotCaches(1).SourceData =

SourceDataFile Retorna um String que indica o arquivo da fonte de dados referente ao cache de tabela dinâmica.

Dim strSourceDataFile As String
strSourceDataFile = ActiveWorkbook.PivotCaches(1).SourceDataFile

SourceType Retorna um valor XlPivotTableSourceType que representa o tipo de item que está sendo publicado.

Dim xptSourceType As XlPivotTableSourceType
xptSourceType = ActiveWorkbook.PivotCaches(1).SourceType

UpgradeOnRefresh Contém informações sobre se o PivotCache e todas as PivotTables conectadas devem ser atualizados na próxima atualização. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).UpgradeOnRefresh = True

UseLocalConnection Retorna True se a propriedade LocalConnection for usada para especificar a sequência que permite ao Microsoft Excel conectar-se a uma fonte de dados. Retorna false se a sequência de conexão especificada pela propriedade Connection é usada. Boolean de leitura/gravação.

ActiveWorkbook.PivotCaches(1).UseLocalConnection = True

Version Retorna a versão do Microsoft Excel no qual o PivotCache foi criado. Somente leitura XlPivotTableVersionList.

Dim xptVersion As XlPivotTableVersionList
xptVersion = ActiveWorkbook.PivotCaches(1).Version

WorkbookConnection Estabelece uma conexão entre a pasta de trabalho atual e o objeto PivotCache. Somente leitura.

Dim wbconWorkbookConnection As WorkbookConnection
Set wbconWorkbookConnection = ActiveWorkbook.PivotCaches(1).WorkbookConnection

PivotCaches.Count Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveWorkbook.PivotCaches.Count

PivotCaches.Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveWorkbook.PivotCaches.Parent