ID do artigo: 142138 - Última revisão: quarta-feira, 11 de outubro de 2006 - Revisão: 3.3 Uma explicação de erros interceptáveis no Visual Basic para aplicativos
Nesta páginaSumárioEste artigo um contém descrições detalhadas das mensagens de erro interceptável que podem ser usadas com a função Err no Visual Basic for Applications. Mais InformaçõesMicrosoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Retornar sem GoSub (erro 3)Uma instrução return não tem uma declaração GoSub correspondente. Ao contrário do for... Next, While... Wend e Sub...End Sub, que são comparados em tempo de compilação, GoSub e Return são comparados em tempo de execução.Chamada de procedimento inválido (erro 5)Provavelmente, um argumento excede o intervalo de valores permitidos. Por exemplo, a função sin somente pode aceitar valores em um determinado intervalo. Argumentos positivos menor que 2147483648 são aceitos, enquanto 2147483648 gera este erro.Este erro também pode ocorrer se for feita uma tentativa para chamar um procedimento que não é válido na plataforma atual. Por exemplo, alguns procedimentos podem apenas ser válidos para o Macintosh, ou para o Microsoft Windows e assim por diante. Estouro de capacidade (Erro 6)Possíveis causas desse erro são:
Falta de memória (erro 7)Mais memória foi necessária que o disponível ou foi encontrado um limite de segmento de 64 K. Para evitar esse erro, tente o seguinte:
Subscrito fora do intervalo (9 de erro)Ter que você referenciou um membro conjunto ou elemento da matriz inexistente. O subscrito pode ser maior ou menor do que o intervalo de possíveis subscritos ou a matriz não tenha atribuídas a esse ponto no aplicativo de dimensões.Duplicar definição (erro 10)Este erro geralmente ocorre somente quando gerado a partir do código, como no exemplo a seguir:Erro 10 No entanto, o erro também pode ocorrer se você tentar usar o ReDim para alterar o número de elementos de uma matriz de tamanho fixo. Por exemplo, no código a seguir, a matriz fixed FixedArr é recebida pelo SomeArr no procedimento NextOne, em seguida, uma tentativa para redimensionar SomeArr: Divisão por zero (erro 11)O valor de uma expressão que está sendo usado como um divisor é zero. Verifica a ortografia de variáveis na expressão. Um nome de variável incorreta implicitamente pode criar uma variável numérica que é inicializada para zero. Verificar operações anteriores em variáveis em expressão, especialmente aqueles passados para o procedimento como argumentos de outros procedimentos.Incompatibilidade de tipo (erro 13)Possíveis causas desse erro são:
Seqüência de caracteres de espaço (erro 14)Seu sistema pode ter executado fora da memória, que impediu que uma seqüência de caracteres que está sendo alocado. Da mesma forma, exigir que seqüências de caracteres temporárias ser criada para avaliação de expressões podem estar causando esse erro. Por exemplo, o código a seguir fará com que uma saída de erro de espaço de seqüência de caracteres:
MyString = "Hello"
For Count = 1 To 100
MyString = MyString & MyString
Next Count
Visual Basic permite que você alocar uma seqüência de caracteres com um comprimento máximo de 65.535 caracteres. No entanto, em executar instruções em tempo de execução, o aplicativo host precisa usar algum espaço de seqüência de caracteres para sobrecarga. A quantidade de sobrecarga varia entre os hosts, mas não deve exceder 50 bytes. Se você precisar alocar uma seqüência do comprimento máximo que do host pode dar suporte, reduzir o tamanho cadeia de caracteres, 50 bytes, aumente o comprimento incrementalmente até esse erro é gerado novamente. O valor anterior imediatamente o erro representa o comprimento máximo da seqüência do host. Seqüência de caracteres fórmula muito complexa (erro 16)Uma expressão de seqüência de caracteres é muito complicada. Seqüências de caracteres não atribuídas a variáveis (como aqueles retornados por funções) são atribuídas aos locais temporários durante a avaliação de expressão de seqüência de caracteres. Ter um grande número dessas cadeias de caracteres pode causar esse erro. Tente atribuir essas cadeias de caracteres a variáveis e use as variáveis na expressão.Não é possível executar operação solicitada (erro 17)A operação solicitada não pode ser executada porque ele invalidar o estado atual do projeto. Por exemplo, o erro ocorre se você usar a caixa de diálogo referências (no menu Ferramentas, clique em Rererences) para adicionar uma referência a um novo projeto ou biblioteca de objetos enquanto um programa estiver no modo de interrupção.Usuário interrupção ocorreu (erro 18)Uma COMBINAÇÃO de teclas CTRL+BREAK ou outra chave de interrupção foi pressionada pelo usuário.Continuar sem erro (erro 20)Encontrou uma instrução Resume, mas ele está fora o código de manipulador de erro ou ele foi encontrado enquanto não rotina de tratamento de erro estava ativa.Espaço de pilha (erro 28)Possíveis causas desse erro são:
Sub ou função não definida (erro 35)Um procedimento Sub, Function ou Property é chamado, mas não está definido.Possíveis causas desse erro são:
Erro ao carregar DLL (erro 48)Não pode ser carregada a especificado biblioteca de vínculo dinâmico (DLL). Isso geralmente ocorre porque o arquivo especificado com a cláusula lib na instrução Declare não é uma DLL válida.Possíveis causas desse erro são:
(Erro 49) convenção de chamada de DLL incorretaSeu programa é chamar uma rotina em uma biblioteca de vínculo dinâmico (DLL) que está sendo passada para o tipo errado ou o número de argumentos ou não usa a convenção de chamada do Pascal. Verifique se os argumentos passados para a rotina DLL exatamente coincidem com os argumentos esperados pela rotina. Se a rotina DLL espera argumentos por valor, em seguida, certifique-se que ByVal é especificado para esses argumentos na declaração para a rotina.Erro interno (erro 51)Ocorreu uma falha no funcionamento interna no Visual Basic. A menos que esta chamada foi gerada pela instrução erro, contate o Atendimento Microsoft para relatar as condições sob as quais a mensagem exibida.Nome de arquivo incorreto ou número (erro 52)Uma instrução fizer referência a um arquivo com um número de arquivo ou nome de arquivo:
Arquivo não encontrado (erro 53)Possíveis causas para esse erro em tempo de execução são:
Modo de arquivo inválido (erro 54)Possíveis causas desse erro são:
Arquivo já aberto (erro 55)Possíveis causas desse erro são:
Erro de E/s de dispositivo (erro 57)Ocorreu um erro entrado ou de saída enquanto o programa estava usando um dispositivo, como uma impressora ou unidade de disco.Arquivo já existe (erro 58)Em tempo de execução, esse erro ocorre quando o novo nome de arquivo (por exemplo, um especificado em uma instrução de nome) é idêntico a um nome de arquivo já existe. Ele também ocorre quando você usa Salvar como para salvar um projeto atualmente carregado se o nome do projeto já existe.Comprimento de registro inválido (erro 59)O comprimento de uma variável de registro para uma instrução Get ou PUT não coincide com o comprimento especificado na instrução Open correspondente. Porque um descritor de dois bytes sempre é adicionado como uma seqüência de comprimento variável PUT para um arquivo de acesso aleatório, a seqüência de comprimento variável deve ter pelo menos dois caracteres menores do que o comprimento de registro especificado na cláusula Len da instrução Open.Tipos de dados variante também requerem um descritor de dois bytes. Variantes que contêm seqüências de comprimento variável exigem um descritor de quatro bytes. Portanto, seqüências de caracteres de comprimento variável em um Variant, a seqüência de caracteres deve ser menor do que o comprimento de registro especificado na cláusula Len pelo menos 4 bytes. Disco cheio (erro 61)Possíveis causas desse erro são:
Entrada passou do final da linha (erro 62)Uma entrada # ou entrada de linha # statement está lendo de um arquivo no qual todos os dados já foi lido ou de um arquivo vazio. Para evitar esse erro, use a função EOF (imediatamente antes de # statement entrada) para detectar o fim do arquivo.Número de registro inválido (erro 63)O número do registro em uma instrução Get ou PUT é menor ou igual a zero.Muitos arquivos (erro 67)Possíveis causas desse erro são:
Dispositivo indisponível (erro 68)O dispositivo que você está tentando acessar ou não está on-line ou não existe.Permissão negada (erro 70)Foi feita uma tentativa para gravar um disco protegido contra gravação ou para acessar um arquivo bloqueado. Por exemplo, este erro ocorrerá se uma instrução de saída para abrir for executada em um arquivo protegido contra gravação.Disco não está pronto (erro 71)Não há qualquer nenhum disco na unidade especificada ou a porta da unidade está aberta. Insira um disco na unidade, fechar a porta e repita a operação.Não é possível renomear com unidade diferente (erro 74)Você não pode utilizar a instrução de nome para renomear um arquivo com uma nova designação de unidade. Use FileCopy para gravar o arquivo para outra unidade e exclua o arquivo antigo com uma instrução KILL.Erro de acesso (erro 75) ao caminho/arquivoDurante uma operação de acesso a arquivo ou disco (por exemplo, abrir, MkDir, ChDir ou RmDir), o sistema operacional não pôde fazer uma conexão entre o caminho e o nome do arquivo.Certifique-se que a especificação de arquivo é formatada corretamente. Um nome de arquivo pode conter um caminho totalmente qualificado ou relativo. Um caminho totalmente qualificado inicia com o nome da unidade (se o caminho é em outra unidade) e lista o caminho explícito da raiz para o arquivo. Qualquer caminho que não é totalmente qualificado é relativa a unidade e pasta atuais. Este erro também pode ocorrer ao tentar salvar um arquivo que poderia substituir um arquivo somente-leitura existente. Caminho não encontrado (erro 76)Durante uma operação de acesso a arquivo ou disco (por exemplo, abrir, MkDir, ChDir ou RmDir), o sistema operacional não pôde localizar o caminho especificado. O erro também ocorre no ambiente de depuração se você tentar abrir um projeto ou inserir um arquivo de texto com um caminho inválido. Verifique se que o caminho foi digitado corretamente.Variável de objeto não definido (erro 91)Você está tentando usar uma variável de objeto que não faz referência ainda um objeto válido ou um que tenha sido definida como Nothing. Especifique ou respecify uma referência para a variável de objeto. Por exemplo, se a instrução Set foi omitida no código a seguir, um erro deve ser gerado:Dim MyObject As Object ' Creates object variable. Set MyObject = Sheets(1) ' Creates valid object reference. MyCount = MyObject.Count ' Assigns Count value to MyCount. Para loop não inicializado (erro 92)Você já entrou no meio de um loop for... Next. Não é recomendável colocar rótulos dentro de um loop for... Next.Seqüência de caracteres padrão inválido (erro 93)A cadeia de caracteres padrão especificada na operação como de uma pesquisa é inválida. Um exemplo comum de uma expressão de lista de caractere inválido é [a-b, onde o colchete direito está ausente.Uso inválido de nulo (erro 94)Você está tentando obter o valor de uma variável variant ou uma expressão que é nulo. Nulo é um subtipo de variante usado para indicar que um item de dados não contém dados válidos. Por exemplo:MyVar = Null For Count = 1 To MyVar . . . Next Count Não é possível carregar módulo; formato inválido (erro 323)O módulo que você tentou carregar não é um módulo de texto. Algumas versões do Visual Basic permite que você salvar o código em formatos binários e de texto. Se possível, recarregar o arquivo no aplicativo no qual ele foi salvo pela última vez e salvá-lo como texto. Esse código de erro se aplica ao Microsoft Excel para Windows 95, versão 7.0 somente.Propriedade ou método não encontrada (erro 423)Object.Method ou object.property é chamado, no entanto, método ou propriedade não está definida ou você tenha digitado errado o nome do objeto. Para ver quais propriedades e métodos são definidos para um objeto, escolha o Pesquisador de objetos no menu Exibir. Selecione a biblioteca apropriada e o objeto para exibir propriedades e métodos disponíveis.Objeto necessário (erro 424)Você ter chamado uma propriedade ou método, mas não tiver fornecido um qualificador de objeto válido.Classe não oferece suporte a automação OLE (erro 430)O objeto especificado na chamada de função GetObject ou CreateObject encontrado, mas não tem expostos a uma interface de programação. Portanto, você não é possível escrever código para controlar o comportamento deste objeto. Verifique a documentação do aplicativo que criou o objeto para limitações no uso de automação OLE com essa classe de objeto.Objeto não oferece suporte a esta propriedade ou método (erro 438)Este método ou propriedade não existe para este objeto de automação OLE. Consulte a documentação do objeto obter mais informações no objeto e para verificar a ortografia de propriedades e métodos.Erro de automação OLE (erro 440)Ocorreu um erro ao executar um método ou acessar uma propriedade de uma variável de objeto. O erro foi reportado pelo aplicativo que criou o objeto.Objeto não dá suporte para esta ação (erro 445)Não há suporte para este método ou propriedade por este objeto. Consulte a documentação do objeto obter mais informações no objeto e para verificar a ortografia de propriedades e métodos.Objeto não suporta argumentos nomeados (erro 446)Argumentos só podem ser especificados por posição ao executar métodos neste objeto. Consulte a documentação do objeto para obter mais informações no argumento posições e tipos.Objeto não suporta configurações de localidade atual (erro 447)O objeto que você está tentando acessar não dá suporte a configuração de localidade para o projeto atual. Por exemplo, se seu projeto atual tiver a localidade configuração francês canadense, o objeto que você está tentando acessar deve oferecer suporte a configuração de localidade. Verifique quais configurações de localidade o objeto suporta.Observe também que o objeto pode depender de suporte ao idioma nacional em uma biblioteca de vínculo dynaminc (DLL), por exemplo OLE2NLS.DLL. Nesse caso, talvez seja necessário uma versão mais recente que ofereça suporte a localidade do projeto atual. Argumento nomeado não encontrado (erro 448)Você especificou um argumento nomeado, mas o procedimento não foi definido para aceitar um argumento com esse nome. Verifica a ortografia do nome do argumento.Argumento não opcional (erro 449)O número e os tipos de argumentos devem corresponder àqueles esperado. Por exemplo, a função esquerda exige dois argumentos, a primeira que representa a seqüência de caracteres que está sendo operado em e o segundo representando o número de caracteres a serem retornados do lado esquerdo da seqüência de caracteres. Como nenhum argumento é opcional, ambos devem ser fornecidos.Um argumento só pode ser omitido de uma chamada para um procedimento definido pelo usuário se ele foi declarado opcional na declaração do procedimento. Número errado de argumentos (erro 450)O número de argumentos na chamada para o procedimento não era igual ao número de argumentos esperado pelo procedimento. Verifique a lista de argumento na chamada contra a declaração de procedimento.Objeto não é uma coleção (erro 451)Você especificou uma operação ou propriedade que é exclusiva para coleções, mas o objeto não é uma coleção. Verifique a ortografia do nome do objeto ou propriedade, ou verifique se o objeto é uma coleção.Ordinal inválido (erro 452)Sua chamada a uma biblioteca de vínculo dinâmico (DLL) indicado para usar um número em vez de um nome de procedimento, usando a sintaxe #num. No entanto, Falha ao tentar converter a expressão em um ordinal, ou num especificado não especifica qualquer função na DLL. Verifique para certificar-se que a expressão representa um número válido ou chamar o procedimento por nome.Função DLL especificada não encontrada (erro 453)A biblioteca de vínculo dinâmico (DLL) em uma referência de biblioteca de usuário foi encontrada, mas a função DLL especificada não foi encontrada dentro da DLL. Um ordinal inválido pode ter sido especificado na declaração de função. Além disso, a DLL pode ter o nome correto, mas não é a versão que contém a função especificada.Recurso de código não encontrado (erro 454)Foi feita uma chamada para um procedimento em um recurso de código, mas o recurso de código não foi encontrado. Este erro pode ocorrer apenas no sistema operacional Macintosh.Erro de bloqueio de recurso de código (erro 455)Foi feita uma chamada para um procedimento em um recurso de código. O recurso de código foi encontrado, mas ocorreu um erro quando foi feita uma tentativa para bloquear o recurso. Verificar se há um erro retornado pelo HLock (por exemplo, "Ilegal em alça vazia" ou "Ilegal no bloco livre"). Este erro pode ocorrer apenas no sistema operacional Macintosh.[Objeto] não tem propriedade [nome da propriedade] (Erro 1000)A propriedade não existe para este objeto. Para ver uma lista de propriedades para este objeto, escolha Pesquisador menu ' Exibir ' e clique no botão ponto de interrogação na caixa de diálogo Pesquisador de objeto para exibir o tópico da Ajuda Visual Basic para este objeto.[Objeto] não tem método [nome do método] (erro 1001)O método não existe para este objeto. Para ver uma lista de métodos para este objeto, escolha Pesquisador menu ' Exibir ' e clique no botão ponto de interrogação na caixa de diálogo Pesquisador de objeto para exibir o tópico da Ajuda Visual Basic para este objeto.Argumento necessário [argumento] (erro 1002) ausenteO método esperava um argumento necessário não existe. Adicione o argumento para o código. Para ver uma lista de argumentos necessários, escolha Pesquisador menu ' Exibir ' e clique no botão ponto de interrogação na caixa de diálogo Pesquisador de objeto para exibir o tópico da Ajuda do Visual Basic.Número inválido de argumentos (erro 1003)O método tem o número errado de argumentos. Isso geralmente ocorre quando você usar argumentos separados por vírgula posição (em vez de argumentos nomeados) e você tem muitos argumentos.Para ver os argumentos válidos para esse método, escolha o Pesquisador de objetos no menu Exibir e clique no botão ponto de interrogação na caixa de diálogo Pesquisador de objeto para exibir o tópico da Ajuda para este método Visual Basic. [Nome do método] método da classe [objeto] falhou (erro 1004)Ocorreu um erro externo, como uma falha de leitura ou gravação de um arquivo. O método não pode ser usado no objeto. Possíveis motivos incluem o seguinte:
Não é possível definir a propriedade [nome da propriedade] da classe [objeto] (erro 1005)A propriedade não pode ser alterada. Possíveis motivos incluem o seguinte:
Não é possível obter a propriedade [nome da propriedade] da classe [objeto] (erro 1006)A propriedade não pode ser alterada. Possíveis motivos incluem:
ReferênciasPara obter mais informações sobre códigos de erro, escolha o botão Pesquisar na Ajuda e digite: Trappable errors A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 142138
(http://support.microsoft.com/kb/142138/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início