F. Documentação da API
think-cell permite que você controle pragmaticamente algumas funcionalidades por meio de uma API. Aqui você pode encontrar uma visão geral de todas as funções de API disponíveis, e instruções gerais sobre como configurar seu ambiente de desenvolvimento para escrever macros, suplementos ou programas autônomos que os acessem.
- F.1
- Introdução
- F.2
- Referência de API
F.1 Introdução
A API da think-cell é integrada ao modelo de Automação do Office, portanto pode ser acessada a partir de qualquer linguagem com o qual seja possível programar o Office, como Visual Basic for Applications (VBA) ou C#.
O ponto de entrada no think-cell é o objeto de suplemento do think-cell. Pode ser acessado através da coleção Application.COMAddIns
. As chamadas ao think-cell sempre são ligadas tardiamente, portanto não há biblioteca de tipos nem referências a serem adicionadas. Consulte a base de dados de conhecimento da Microsoft para obter uma explicação:
Usando ligação precoce e tardia na automação
Algumas funções de API são métodos do objeto do suplemento do think-cell no PowerPoint, e outras, do objeto do suplemento do think-cell no Excel. Usaremos tcPpAddIn
para fazer referência ao suplemento do PowerPoint, e tcXlAddIn
para fazer referência ao suplemento do Excel.
F.1.1 Visual Basic for Applications
Para escrever macros usando Visual Basic for Applications (VBA), usamos o ambiente de desenvolvimento integrado ao aplicativo host do Office. Ele pode ser acessado pressionando Alt+F11. A definição de macro está geralmente contida em um módulo, que você pode adicionar em Inserir → Módulo. Você pode visualizar todos os macros definidos para um determinado documento pressionando Alt+F8.
Para indicar que as chamadas de método no suplemento do think-cell são ligadas tardiamente, você precisa declarar a variável fazendo referência a isso como Object
:
A biblioteca de tipos para o aplicativo host do Office é sempre referenciada por padrão. Caso precise acessar o modelo do objeto de outro aplicativo do Office, você deve adicionar sua biblioteca de tipos como uma referência.
Por exemplo, se você quiser usar um macro no PowerPoint para manipular dados em uma planilha do Excel antes de atualizar um gráfico do think-cell, você deve adicionar manualmente a biblioteca de objetos do Microsoft Excel 16.0 através do diálogo Ferramentas → Referências no ambiente de desenvolvimento de VBA.
Observação: 16.0 é o número da versão do Office 2016 e posterior. Para o Office 2010 ou 2013, você deve usar as bibliotecas de objetos 14.0 ou 15.0, respectivamente. Se você tiver várias versões do Office instaladas, o diálogo Referências mostrará apenas as bibliotecas de objetos da última versão instalada. Presumiremos a seguir que você esteja usando o Office 2016 ou posterior.
Usar Application.COMAddIns("thinkcell.addin").Object
sempre levará ao objeto do suplemento do think-cell do aplicativo host do Office, ou seja, tcPpAddIn
ou tcXlAddIn
, dependendo de se for usado no PowerPoint ou Excel. Para adquirir uma referência ao objeto do suplemento no outro aplicativo do Office, e acesso às funções de API que ele expõe, ela deve ser adquirida através de uma instância adequada do aplicativo.
Por exemplo, para adquirir uma referência para tcXlAddIn
do PowerPoint:
Observe que isso exige que a biblioteca de objetos do Excel seja adicionada como uma referência.
Recomendamos usar a declaração Option Explicit
, que força a declaração explícita de todas as variáveis, dessa forma ajudando a evitar erros de programação comuns e melhorar as sugestões fornecidas pelo IntelliSense. Você pode adicioná-la automaticamente a todos os módulos, ativando Ferramentas → Opções → Configurações de código → Declaração variável obrigatória. Ela está incluída em todas as nossas amostras de código.
F.1.2 C#
Você pode usar a API do think-cell a partir da C# ao desenvolver suplementos e extensões de código de documento executados dentro de um aplicativo host do Office, e ao desenvolver aplicativos autônomos.
Presumiremos a seguir que você está usando o Visual Studio 2017 ou posterior para desenvolver soluções do Office na C#. Consulte a próxima seção para obter instruções de configuração mais específicas para o desenvolvimento de suplemento. Com cada uma de nossas amostras de código, indicaremos qual modelo de projeto do Visual Studio você deve usar.
Para fazer chamadas de método à ligação tardia do objeto do suplemento do think-cell, declare a variável que contém a referência ao objeto do suplemento do think-cell como dynamic
; esse também é o tipo inferido pelo compilador ao declarar a referência como var
, então você pode simplesmente escrever:
Aqui, ppapp
é uma referência a um objeto do PowerPoint Application
no qual o think-cell foi carregado.
Para acessar o modelo de objeto de um aplicativo do Office, você precisa adicionar a respectiva biblioteca de tipos ou assembly de interoperabilidade principal (PIA) como uma referência ao seu projeto. Recomendamos adicionar a biblioteca de tipos se possível, pois o Visual Studio vai adicionar automaticamente uma referência à PIA correspondente, se disponível, ou gerar uma assembly de interoperabilidade da biblioteca de tipos se não houver nenhuma (consulte aqui).
Por exemplo, para conseguir obter a referência ao objeto do suplemento do think-cell conforme indicado acima, você poderia adicionar a biblioteca do objeto do Microsoft PowerPoint 16.0 encontrada na guia COM → Bibliotecas de tipos do diálogo Gerente de referência. Dependendo do seu tipo de projeto, este diálogo é acessado clicando com o botão direito em Referências ou Dependências no Solution Explorer e selecionando Adicionar (COM) referência.
Observação: 16.0 é o número da versão do Office 2016 e posterior. Ao usar a opção Incorporar tipos de interoperabilidade, que é habilitado por padrão para uma referência a uma biblioteca de tipos COM, uma aplicação compilada com esta referência será compatível inversamente (e progressivamente) com outras versões do Office desde que todas as interfaces usadas existam no seu modelo de objeto. Consulte aqui para mais informações.
As funções de API do think-cell indicam erros usando HRESULT
s COM. Algumas delas são mapeadas automaticamente nas classes de exceção .NET correspondentes; consulte Como: mapear HRESULTs e Exceções .
F.1.2.1 Desenvolvimento de suplemento
Para desenvolver suplementos para Office, ou extensões de código para documentos do Office, usamos modelos de projeto PowerPoint/
O PIA para o aplicativo host do Office do modelo selecionado é sempre carregado por padrão. Caso precise acessar o modelo do objeto de outro aplicativo do Office, você deve adicionar sua biblioteca de tipos como uma referência, conforme explicado acima.
Observação: a API do think-cell não pode ser usada nos suplementos do Office Web — infelizmente, agora simplesmente chamado de “suplementos do Office” pela Microsoft — pois não podem interagir, diretamente, com o modelo do objeto do aplicativo do Office, e não podem interagir, particularmente, com suplementos COM como o think-cell.
F.2 Referência de API
- F.2.1
- Atualizar elementos e modelos de apresentação com dados do Excel
- F.2.2
- Controlar estilos
- F.2.3
- Importar gráficos Mekko Graphics
- F.2.4
- Variado
F.2.1 Atualizar elementos e modelos de apresentação com dados do Excel
As funções nesta seção podem ser usadas para atualizar programaticamente os elementos do think-cell, geralmente espaços reservados em um modelo de apresentação, com dados do Excel. UpdateChart
atualiza elementos do think-cell, especificados por um nome atribuído a eles no modelo, com dados de um intervalo do Excel passados como um argumento. Consulte também 24. Introdução à automação para saber como preparar o modelo.
PresentationFromTemplate
exemplifica um modelo de apresentação com dados de uma pasta de trabalho vinculada ao Excel. Consulte também 21. Links de dados do Excel para saber como criar links do Excel.
As funções nesta seção são métodos do suplemento do think-cell no Excel.
F.2.1.1 Atualizar gráfico
F.2.1.1.1 Assinatura
VBA
C#
F.2.1.1.2 Descrição
Esta função atualiza todos os elementos no target
com nome strName
com os dados contidos no rgData
. Para que os dados sejam interpretados corretamente para gráficos, o intervalo rgData
deve estar alinhado ao seu layout da planilha de dados padrão, ou sua versão transposta; consulte também Criar gráfico a partir do Excel e Ajustando o layout de dados. A informação sobre se deve ser usada a versão padrão ou transposta é indicada pela configuração bTransposed
para false
ou true
, respectivamente. Para elementos que não são gráficos, tabelas por exemplo, o valor de bTransposed
é ignorado.
target
deve ser Presentation
ou SlideRange
, ou um único Slide
, Master
ou CustomLayout
.
O nome strName
não diferencia maiúsculas e minúsculas. Isso deve ter sido atribuído anteriormente no PowerPoint usando o controle de propriedade Nome de UpdateChart como descrito em 24. Introdução à automação.
Para garantir que os elementos corretos sejam direcionados, certifique-se de que eles sejam os únicos com seu Nome de UpdateChart configurado para strName
no objeto passado como pres
.
Se um elemento direcionado estiver vinculado a algum intervalo de dados do Excel, ao invocar essa função, o vínculo será quebrado. Depois, o elemento não será vinculado a qualquer intervalo do Excel.
F.2.1.1.3 Exemplos
Para usar esses exemplos, prepare uma apresentação conforme descrito no 24. Introdução à automação, e a salve como C:\Samples\UpdateChart\template.pptx
.
VBA
Para usar esta amostra adicione-a a um módulo e, uma pasta de trabalho do Excel.
Ela requer uma referência à biblioteca de objetos do Microsoft PowerPoint 16.0 (consulte Visual Basic for Applications para obter mais detalhes).
Ao executar UpdateChart_Sample
em uma pasta de trabalho, o gráfico no modelo de apresentação será atualizado com os dados contidos no intervalo A1:D5
da sua primeira planilha.
C#
Para usar esta amostra, insira-a no lugar do código no Program.cs
do modelo de projeto do aplicativo Console da C#.
São necessárias referências à biblioteca de objetos do Microsoft PowerPoint 16.0, biblioteca de objetos do Microsoft Excel 16.0 e biblioteca de objetos do Microsoft Office 16.0 (consulte C# para obter mais detalhes).
Ao executar o aplicativo resultante, o gráfico será atualizado no modelo de apresentação e exibirá uma única série chamada "Série 1", com valores 1, 2, 3, e o resultado será salvo como template_updated.pptx
.
F.2.1.2 Apresentação a partir do modelo
F.2.1.2.1 Assinatura
VBA
C#
F.2.1.2.2 Descrição
Esta função usa os vínculos de dados entre a pasta de trabalho do Excel wb
e o modelo com nome de arquivo strTemplate
para instanciar o modelo atualizando os elementos vinculados com os dados dos intervalos ao quais estão vinculados. O resultado é uma nova apresentação dentro da instância do PowerPoint ppapp
.
strTemplate
pode ser um caminho inteiro ou relativo, que é então tomado para ser relativo à localização do arquivo da pasta de trabalho do Excel wb
.
Todos os elementos em strTemplate
que estão vinculados à pasta de trabalho wb
do Excel são atualizados (independentemente se estão definidos para atualização automática ou não). Na apresentação resultante, os vínculos de dados estão corrompidos para impedir que esses elementos sejam alterados no futuro.
Os elementos em strTemplate
, que são vinculados a pastas de trabalho do Excel que não wb
, são deixados sem modificação e ainda vinculados, para ser possível atualizar vínculos de várias pastas de trabalho do Excel, salvando o resultado dessa função como novo modelo e chamando novamente essa função com a próxima pasta de trabalho.
Se você deseja controlar as cores dos segmentos do gráfico ou a formatação das células da tabela com o link do Excel, você pode configurar o esquema de cores para Usar preenchimento da planilha de dados como preferência (consulte Esquema de cores) ou as opções de Usar preenchimento da planilha de dados... (consulte Formatar uma tabela), respectivamente. Da mesma forma, para controlar o formato de número com o link do Excel, configure-o como Usar formatação do Excel (veja Formato de número).
Certifique-se de definir as opções de formatação relevantes e o formato de número das células respectivas no Excel antes de chamar PresentationFromTemplate
.
F.2.1.2.3 Exemplos
Para usar essas amostras, primeiro crie uma apresentação contendo um gráfico empilhado vinculado ao intervalo G1:K4
da primeira planilha em uma pasta de trabalho do Excel, conforme explicado em Criar gráfico a partir do Excel. Salve a apresentação resultante como C:\Samples\PresentationFromTemplate\template.pptx
, e a pasta de trabalho como data.xlsx
, no mesmo diretório.
VBA
Para usar esta amostra, adicione-a ao módulo na pasta de trabalho data.xlsx
do Excel, preparada conforme explicado acima.
Ela requer uma referência à biblioteca de objetos do Microsoft PowerPoint 16.0 (consulte Visual Basic for Applications para obter mais detalhes).
Ao executar PresentationFromTemplate_Sample
, o valor na célula Sheet1!H3
, que está vinculado ao primeiro valor da primeira série de planilhas contidas em template.pptx
, de i=1
a 10
, será alterado, será criada uma nova apresentação com o gráfico no modelo atualizado, que passará a exibir esse valor, e que não está vinculado à pasta de trabalho, e será salvo como output_i.pptx
no mesmo diretório que do modelo.
C#
Para usar esta amostra, insira-a no lugar do código no Program.cs
do modelo de projeto do aplicativo Console da C#.
São necessárias referências à biblioteca de objetos do Microsoft PowerPoint 16.0, biblioteca de objetos do Microsoft Excel 16.0 e biblioteca de objetos do Microsoft Office 16.0 (consulte C# para obter mais detalhes).
Ao executar o aplicativo resultante, o Excel abrirá e ficará visível, a pasta de trabalho data.xlsx
será carregada, o valor na célula H3
, que está vinculado ao primeiro valor da primeira série de planilhas contidas em template.pptx
, de i=1
a 10
, será alterado, será criada uma nova apresentação com o gráfico no modelo atualizado, que passará a exibir esse valor, e que não está vinculado à pasta de trabalho, e será salvo como output_i.pptx
no mesmo diretório que do modelo.
F.2.2 Controlar estilos
As funções nesta seção podem ser usadas para, programaticamente, carregar, inspecionar e remover os estilos do think-cell. LoadStyle
carrega um estilo de um arquivo de estilo para um slide mestre ou um único layout personalizado. LoadStyleForRegion
carrega um estilo de um arquivo de estilo para uma região específica de um layout personalizado. GetStyleName
retorna o nome de um estilo carregado em um slide mestre ou layout personalizado. RemoveStyles
remove todos os estilos de um layout personalizado.
Consulte Criando um estilo do think-cell e D. Formato de arquivo de estilo para mais informações sobre como criar e editar estilos. Consulte Carregando arquivos de estilos para mais informações sobre como carregá-los.
As funções nesta seção são métodos do suplemento do think-cell no PowerPoint.
F.2.2.1 Carregar estilo
F.2.2.1.1 Assinatura
VBA
C#
F.2.2.1.2 Descrição
Esta função carrega o estilo contido no arquivo de estilos em FileName
para um layout mestre ou personalizado, especificado pelo parâmetro CustomLayoutOrMaster
.
CustomLayoutOrMaster
deve ser CustomLayout
ou Master
.
Ao ser aplicado a um layout personalizado onde um estilo regional tiver sido estabelecido (consultar Carregar estilo para região), o estilo regional será removido. Isso significa que é preciso carregar o estilo que será aplicado no restante do slide usando esta função antes de carregar um estilo restrito a uma região.
Ao ser aplicado a um slide mestre, qualquer estilo carregado nos layouts personalizados contidos nesse slide mestre, seja regional ou irrestrito, será removido. Isso significa que é preciso carregar o estilo que será aplicado a layouts personalizados sem um estilo específico no slide mestre, antes de carregar um estilo, aplicando a um layout personalizado específico usando esta função.
F.2.2.1.3 Exemplos
VBA
Para usar este exemplo, adicione o seguinte código a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
F.2.2.2 Carregar estilo para região
F.2.2.2.1 Assinatura
VBA
C#
F.2.2.2.2 Descrição
Esta função carrega o arquivo de estilo para FileName
no layout personalizado CustomLayout
e o restringe para uma dada região por Left
, Top
, Width
, Height
. No restante do slide, aplica-se o estilo carregado no slide mestre, ou o que foi carregado anteriormente ao layout personalizado com LoadStyle
.
Os parâmetros Left
, Top
, Width
, Height
são dados nos pontos do PowerPoint. Left
e Top
especificam a distância das bordas esquerda e superior da região das bordas esquerda e superior do layout personalizado, respectivamente. Geralmente, você os definirá como frações da altura e da largura total do slide. Por exemplo, para a região que cobre os dois terços do lado direito do layout personalizado, você deve configurar
Você também pode adicionar manualmente uma forma para um slide ou layout personalizado, consultar suas propriedades Left
, Top
, Width
, Height
programaticamente e usar os valores com LoadStyleForRegion
para restringir o estilo para a mesma região coberta pela forma.
O think-cell suporta no máximo dois estilos por layout personalizado. Um é definido com LoadStyle
e cobre tudo não restrito a uma região, o outro é definido com LoadStyleForRegion
.
F.2.2.2.3 Exemplos
VBA
Para usar este exemplo, adicione o seguinte código a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
F.2.2.3 Obter nome do estilo
Compatível com think-cell 13 e posterior.
F.2.2.3.1 Assinatura
VBA
C#
F.2.2.3.2 Descrição
Esta função retorna o nome do estilo carregado no CustomLayout
ou Master
CustomLayoutOrMaster
. Este é o mesmo nome especificado no atributo name
do elemento <style>
do arquivo de estilos correspondente (consulte Estilo).
Ele retorna uma sequência vazia quando nenhum estilo é carregado no CustomLayoutOrMaster
. Observe que um slide mestre sempre exibe um estilo carregado quando o think-cell é aberto, e o nome do estilo não pode estar vazio.
Se um nome retornar para um CustomLayout
, será o nome do estilo carregado com Carregar estilo, não do estilo carregado com Carregar estilo para região, se for o caso.
F.2.2.3.3 Exemplos
VBA
Para usar este exemplo, adicione o seguinte código a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
F.2.2.4 Remover estilos
F.2.2.4.1 Assinatura
VBA
C#
F.2.2.4.2 Descrição
Esta função remove todos os estilos do layout personalizado CustomLayout
. Posteriormente, o estilo carregado no slide mestre aplica-se. Potencialmente, pode haver um estilo carregado no layout personalizado e outro estilo restrito a uma região específica do layout personalizado. Como RemoveStyles
remove todos os estilos, ambos serão removidos. O estilo carregado em um slide mestre não pode ser removido, pois sempre precisa ser um estilo válido associado a um slide mestre. Ele pode ser substituído por um arquivo de estilo diferente.
F.2.2.4.3 Exemplos
VBA
Para usar este exemplo, adicione o seguinte código a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
F.2.3 Importar gráficos Mekko Graphics
As funções nesta seção podem ser usadas para importar e inspecionar, programaticamente, gráficos criados com Mekko Graphics para o think-cell. ImportMekkoGraphicsCharts
substitui gráficos Mekko Graphics por gráficos do think-cell equivalentes. GetMekkoGraphicsXML
extrai a definição XML de um gráfico Mekko Graphics chart.
As funções nesta seção são métodos do suplemento do think-cell no PowerPoint.
F.2.3.1 Importar gráficos Mekko Graphics
Compatível com think-cell 13 e posterior.
F.2.3.1.1 Assinatura
VBA
C#
F.2.3.1.2 Descrição
Esta função substitui todos os gráficos Mekko Graphics na matriz de Shape
s passados com um gráfico do think-cell equivalente. Todas as formas devem estar no mesmo slide. Antes de modificar o slide, a função faz uma cópia do slide não modificado e a insere diretamente após a versão modificada.
A função retorna uma referência a esta cópia, se houver.
Ela retorna Nothing
/null
, se a apresentação não tiver sido modificada, por exemplo, se a matriz não continha nenhum gráfico Mekko Graphics.
F.2.3.1.3 Exemplos
VBA
Para usar este exemplo, adicione-o a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
Ao executar ImportAll
em uma apresentação, os slides serão exibidos na apresentação e todos os gráficos Mekko Graphics visíveis serão substituídos por gráficos do think-cell equivalentes, e será feita uma cópia de cada slide que contém uma antes de modificá-lo.
C#
Para usar esta amostra, adicione este método à classe ThisAddIn
do modelo do projeto do suplemento do PowerPoint VSTO da C# (consulte C# e Desenvolvimento de suplemento para obter mais detalhes).
Adicione a seguinte linha ao método ThisAddIn_Startup
para executar ImportAll
em cada apresentação que for aberta:
F.2.3.2 Obter XML do Mekko Graphics
Compatível com think-cell 13 e posterior.
F.2.3.2.1 Assinatura
VBA
C#
F.2.3.2.2 Descrição
Esta função retorna o XML do gráfico Mekko Graphics no shp
na forma de uma sequência. Ela não modifica a forma passada a ela.
Se shp
não for um gráfico Mekko Graphics, uma mensagem de erro E_INVALIDARG (0x80070057)
é exibida.
F.2.3.2.3 Exemplos
VBA
Para usar este exemplo, adicione o seguinte código a um módulo no PowerPoint (consultar Visual Basic for Applications para obter mais detalhes).
C#
Para usar esta amostra, substitua-a pelo código no Program.cs
de um aplicativo Console.
São necessárias referências à biblioteca de objetos do Microsoft PowerPoint 16.0 e biblioteca de objetos do Microsoft Office 16.0 (consulte C# para obter mais detalhes).
Ao executar o aplicativo a apresentação será exibida no C:\Samples\GetMekkoGraphicsXML\presentation.pptx
e o XML dos gráficos Mekko Graphics contidos nela serão impressos no console.
F.2.4 Variado
As funções nesta seção são métodos do suplemento do think-cell no PowerPoint.
F.2.4.1 Iniciar inserção na tabela
Compatível com think-cell 13 e posterior.
F.2.4.1.1 Assinatura
VBA
C#
F.2.4.1.2 Descrição
Chamar este método tem o mesmo efeito de clicar na Tabela no menu Elementos no PowerPoint.