Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma variável de objeto inválida está sendo referenciada. Esse erro pode ocorrer por várias razões:
Uma variável foi declarada sem especificar um tipo. Se uma variável for declarada sem especificar um tipo, será padrão digitar
Object
.Por exemplo, uma variável declarada com
Dim x
seria do tipoObject;
uma variável declarada comDim x As String
seria do tipoString
.Dica
A instrução
Option Strict
não permite a digitação implícita que resulta em um tipoObject
. Se você omitir o tipo, ocorrerá um erro em tempo de compilação. Consulte Instrução Option Strict.Você está tentando fazer referência a um objeto que foi definido como
Nothing
.Você está tentando acessar um elemento de uma variável de matriz que não foi declarado corretamente.
Por exemplo, uma matriz declarada como
products() As String
disparará o erro se você tentar fazer referência a um elemento da matrizproducts(3) = "Widget"
. A matriz não tem elementos e é tratada como um objeto.Você está tentando acessar o código em um bloco
With...End With
antes que ele seja inicializado. Um blocoWith...End With
deve ser inicializado executando o ponto de entrada da instruçãoWith
.
Observação
Em versões anteriores do Visual Basic ou VBA, esse erro também foi disparado atribuindo um valor a uma variável sem usar a palavra-chave Set
(x = "name"
em vez de Set x = "name"
). A palavra-chave Set
não é mais válida no .Net do Visual Basic.
Para corrigir este erro
Defina
Option Strict
comoOn
adicionando o seguinte código ao início do arquivo:Option Strict On
Ao executar o projeto, um erro do compilador aparecerá na Lista de Erros para qualquer variável especificada sem um tipo.
Se você não quiser habilitar
Option Strict
, pesquise quaisquer variáveis no código que foram especificadas sem um tipo (Dim x
em vez deDim x As String
) e adicione o tipo pretendido à declaração.Verifique se você não está se referindo a uma variável de objeto definida como
Nothing
. Pesquise em seu código a palavra-chaveNothing
e revise o código para que o objeto não seja definido comoNothing
até que você o tenha referenciado.Verifique se todas as variáveis de matriz são dimensionadas antes de acessá-las. Você pode atribuir uma dimensão ao criar pela primeira vez a matriz (
Dim x(5) As String
em vez deDim x() As String
), ou usar a palavra-chaveReDim
para definir as dimensões da matriz antes de acessá-la pela primeira vez.Verifique se o bloco
With
foi inicializado executando o ponto de entrada da instruçãoWith
.