Sintomas

Quando o Microsoft Excel carrega um suplemento de Automatização durante o modo de edição de células, o Excel falha. Este problema só ocorre com suplementos de Automatização que foram Carregados a Pedido para o Excel.

Causa

Este problema pode ocorrer quando um suplemento é carregado se o suplemento apresentar um formulário ou caixa de diálogo ou se o suplemento fizer um pedido de Automatização para o Excel que tente alterar o estado do Excel. A lista seguinte inclui exemplos de pedidos de Automatização que podem fazer com que o Excel falhe quando é chamado enquanto um suplemento de Automatização carrega durante o modo de edição de células:

  • Altere programaticamente a seleção atual. Por exemplo:

    Application.ActiveSheet.Range("A1").Select
  • Chamar uma propriedade ou método de um item na coleção do Windows. Por exemplo:

    Application.ActiveWindow.Zoom = 200
  • Altere uma definição do Excel, como o modo de cálculo. Por exemplo:

    Application.CalculationMode = xlManual

Todos estes itens são exemplos de tentativas de código para alterar o ambiente do Excel, um livro ou uma folha de cálculo; estes tipos de ações não são permitidos no modo de edição.

Resolução

Não experimente as ações mencionadas acima enquanto o suplemento é carregado. Os métodos de suplementos chamados durante a carga incluem o método Initialize e, se o suplemento automatização implementar a interface IDTExtensibility2, os métodos OnConnection e OnStartupComplete também.

Status

A Microsoft confirmou que se trata de um erro nos produtos Microsoft listados no início deste artigo.

Informações adicionais

Passos para Reproduzir Problema

  1. Inicie um novo projeto DLL ActiveX no Visual Basic.

  2. No menu Projeto, clique em Propriedades do Projeto1. Altere o Nome do Projeto para TestAddIn e, em seguida, clique em OK.

  3. Adicione o seguinte código ao módulo de código para Class1:

    Private Sub Class_Initialize()    MsgBox "Class_Initialize"End Sub
  4. Crie TestAddIn.dll.

  5. No Excel, inicie um novo livro.

  6. No Microsoft Office Excel 2003 ou no Microsoft Excel 2002, siga estes passos:

    1. No menu Ferramentas , aponte para Suplementos e, em seguida, clique em Automatização.

    2. Na lista, clique em TestAddIn.Class1 e, em seguida, clique em OK.

    3. Na caixa de diálogo Suplementos , clique em OK.

    No Microsoft Office Excel 2007, siga estes passos:

    1. Clique no Botão do Microsoft Office e, em seguida, clique emOpções do Excel.

    2. Clique no separador Suplementos .

    3. Na lista Gerir , clique em Suplementos do Excel e, em seguida, clique em Ir.

    4. Na caixa de diálogo Suplementos , clique emAutomatização.

    5. Na lista, clique em TestAddin.Class1 e, em seguida, clique em OK.

    6. Clique em OK.

  7. Escreva =a em qualquer célula. É apresentada uma caixa de mensagem com o texto "Class_Initialize".

  8. Clique em OK para dispensar a caixa de mensagem. Após alguns segundos, o Excel falha.

Referências

Para obter mais informações, clique no número de artigo a seguir para ler o conteúdo na Base de Dados de Conhecimento Microsoft:

291392 INFORMAÇÕES: Suplementos e Suplementos de Automatização do Excel COM

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.