Share via


A classe não dá suporte à Automação (Erro 430)

Nem todos os objetos expõem uma interface de Automação. Este erro tem a seguinte causa e a seguinte solução:

  • A classe que você especificou na chamada à função GetObject ou CreateObject foi encontrada, mas não foi exposta à interface de programação.

    Você não pode escrever código para controlar o comportamento de um objeto a menos que tenha sido exposto para Automação. Verifique a documentação do aplicativo que criou o objeto para limitações de uso de Automação com essa classe de objeto.

  • Você alterou um projeto de .dll para .exe ou vice-versa. Se, por exemplo, você tiver um servidor de .dll já compilado e registrado e então alterar o tipo de projeto para .exe para recompilá-lo, o fato de que .dll e .exe já estejam registrados em seu sistema impede que você crie esses objetos. Será necessário cancelar manualmente o registro do .dll ou .exe antigo para evitar o problema. Isso é causado pela combinação de compatibilidade de projeto e da alteração de um projeto de um .exe para um .dll. Na compatibilidade de projeto, a CLSID é preservada, mas não a IID. Já que a CLSID é preservada, a classe termina sendo registrada com dois servidores — um servidor em processo e o outro um servidor local. Quando uma instância é criada, o em processo é escolhido. Quando a consulta à interface ocorrer, o .dll não dará suporte à IID porque é novo.

Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.