Chamar o código no nível de aplicativo Adicionar-ins de Outro soluções do Office
Se aplica a |
---|
As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office. Tipo de Projeto
Versão do Microsoft Office
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
Você pode expor um objeto em seu Adicionar - na Outro soluções do Microsoft Office.Isso é útil se o suplemento fornece um serviço que você deseja ativar outras soluções do Office para uso.Por exemplo, se você tiver um Adicionar-in para o Microsoft Office Excel que executa cálculos nos dados financeiros de um serviço da Web, Outro soluções do Office podem executar esses cálculos chamando o suplemento do Excel em tempo de execução.
Ferramentas do Visual Studio para o Office também fornece um recurso semelhante para personalizações em nível de documento.Se você estiver desenvolvendo uma personalização para o 2007 Microsoft Office Sistema, você pode chamar código em sua personalização do código do VBA no documento.For more information, see Chamar o código em nível de documento personalizações do VBA.
Soluções do Office que podem chamada o código em um Adicionar - no
Você pode expor um objeto em um Adicionar-in dos seguintes tipos de soluções do Office:
Outros Ferramentas do Visual Studio para o Office Adicionar-ins.
Nível de documento personalizações que são Carregado no mesmo processo aplicativo como o Adicionar-in.
COM Adicionar-ins (isto é, Adicionar-ins que implementam a interface de IDTExtensibility2 diretamente).
Código do Visual Basic for Applications (VBA) em um documento que é carregado no mesmo processo de aplicativo o Adicionar-in.
Expor objetos Outro soluções do Office
Para expor um objeto para outros suplementos, Substituir o método RequestComAddInAutomationService na classe ThisAddIn.Retornar o objeto que você deseja expor a Outro soluções do Office.
Quando o Adicionar - in é carregado, o Tempo de execução Ferramentas do Visual Studio para o Office chama o método RequestComAddInAutomationService.O tempo de execução atribui ao objeto retornado da propriedade Object de um objeto de COMAddIn que representa o Adicionar-in.Este objeto COMAddIn está disponível Outro soluções do Office.
Requisitos do objeto retornado
A implementação do RequestComAddInAutomationService deve retornar uma instância de uma classe que atende aos seguintes requisitos:
The class must be public and have the ComVisibleAttribute attribute set to true.
A classe deve expor a interface de IDispatch.Há duas maneiras de que uma classe pode fazer isso:
The class can implement an interface that has the ComVisibleAttribute set to true, and the InterfaceTypeAttribute set to InterfaceIsIDispatch or InterfaceIsDual.
- ou -
The class can have the ClassInterfaceAttribute set to AutoDual or AutoDispatch.
Se você retornar o objeto não atender a esses requisitos, o Tempo de execução Ferramentas do Visual Studio para o Office lançará um InvalidCastException depois que ele chama sua implementação.
Para ver um exemplo de uma classe que atende a esses requisitos, consulte Demonstra Passo a passo: Chamar o código em um aplicativo-nível Adicionar - in do VBA.
Exemplo
O exemplo de código a seguir demonstra como substituir RequestComAddInAutomationService.Este exemplo pressupõe que você definiu uma classe chamada AddInUtilities que você deseja expor a Outro soluções do Office, e a classe AddInUtilities atende aos requisitos especificados acima.Para ver este código no contexto de um maior explicação passo a passo, consulte Demonstra Passo a passo: Chamar o código em um aplicativo-nível Adicionar - in do VBA.
Private utilities As AddInUtilities
Protected Overrides Function RequestComAddInAutomationService() As Object
If utilities Is Nothing Then
utilities = New AddInUtilities()
End If
Return utilities
End Function
private AddInUtilities utilities;
protected override object RequestComAddInAutomationService()
{
if (utilities == null)
utilities = new AddInUtilities();
return utilities;
}
Acessando objetos de Outro soluções do Office
No código de uma outra solução do Office (não o expostos Adicionar - in), execute as seguintes etapas:
Obter o objeto COMAddIn que representa o expostos Adicionar - in.Você pode acessar todas as disponíveis Adicionar-ins usando a propriedade COMAddIns da classe Application.
O exemplo de código a seguir demonstra como usar o VBA para chamar um método em um Adicionar-in.Esta macro VBA chama um método chamado ImportData definido em um Adicionar-in que é denominado ExcelImportData.Para ver este código no contexto de um maior explicação passo a passo, consulte Demonstra Passo a passo: Chamar o código em um aplicativo-nível Adicionar - in do VBA.
Sub CallVSTOMethod()
Dim addIn As COMAddIn
Dim automationbject As Object
Set addIn = Application.COMAddIns("ExcelImportData")
Set automationObject = addIn.Object
automationObject.ImportData
End Sub
Consulte também
Tarefas
Demonstra Passo a passo: Chamar o código em um aplicativo-nível Adicionar - in do VBA
Como: Criar o Visual Studio Tools para projetos do Office
Conceitos
Programação Application-Nível Adicionar-ins
Desenvolvendo soluções do Office
Personalizando recursos de interface do usuário usando interfaces de extensibilidade