Share via


Tipo não suportado no Visual Basic

Nem todos os tipos têm suporte no Visual Basic. Esse erro tem a seguinte causa e solução:

  • Você tentou usar um tipo em seu programa que não tem equivalente em Visual Basic for Applications. Por exemplo, o Visual Basic não tem nenhum ponteiro ou tipo inteiro não assinado, portanto, se você tentar criar uma variável de um desses tipos de uma biblioteca de objetos, esse erro ocorrerá.

    No exemplo a seguir, embora Rainbow possa ser uma estrutura válida, o Visual Basic não poderá criar uma variável desse tipo se contiver um tipo que o Visual Basic não reconhece:

      Dim MyVar As Rainbow    ' Causes error. 
    

    Se o tipo for um tipo de parâmetro válido para uma função em uma biblioteca de objetos, esse erro significa apenas que você não pode criar uma variável desse tipo em seu próprio código. Embora nem sempre você possa declarar variáveis com um tipo de dados especificado na documentação de um objeto, muitas vezes há um equivalente do Visual Basic.

    Por exemplo, embora o Visual Basic não tenha nenhum tipo de ponteiro, você pode passar um ponteiro para uma função para uma função de API usando o operador AddressOf . Além disso, verifique os subtipos do tipo Variant . Geralmente, você pode usá-los como equivalentes de tipos não oferecidos diretamente no Visual Basic. Em alguns casos, no entanto, o Visual Basic simplesmente não tem equivalente. Por exemplo, os ponteiros de dados não estão disponíveis.

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.