Artigo: 142138 - Última revisão: quarta-feira, 11 de Outubro de 2006 - Revisão: 3.3 Uma explicação de detectável erros no Visual Basic para aplicações
Nesta páginaSumárioEste artigo uma contém descrições detalhadas das mensagens de erro detectável que podem ser utilizadas com a função err no Visual Basic for Applications. Mais InformaçãoA Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Devolver sem GoSub (erro 3)Uma instrução de retorno não é necessário uma instrução GoSub correspondente. Ao contrário e for... Next enquanto Wend... e, Sub...End Sub, que são comparados durante a compilação GoSub e regressar têm correspondência em tempo de execução.Chamada de procedimento inválido (erro 5)Um argumento provavelmente excede o intervalo de valores permitidos. Por exemplo, a função de seno só pode aceitar valores num determinado intervalo. Argumentos positivos menor que 2147483648 são aceites enquanto 2147483648 gera este erro.Este erro também poderá ocorrer se for feita uma tentativa de chamar um procedimento que não é válido na plataforma actual. Por exemplo, alguns procedimentos podem apenas ser válidos para o Macintosh ou Microsoft Windows e por aí em diante. Capacidade excedida (erro 6)Causas possíveis deste erro são:
Falta de memória (erro 7)Era necessária não está disponível mais memória ou foi encontrado um limite de segmento de 64 K. Para evitar este erro, tente o seguinte:
Índice fora do intervalo (erro 9)Ter referenciado um membro de elemento ou conjunto de matriz não existente. O índice pode ser maior ou menor que o intervalo de índices possíveis ou a matriz não pode ter dimensões atribuídas neste ponto da aplicação.Duplicar definição (erro de 10)Este erro ocorre normalmente apenas quando gerada a partir do código, como no exemplo seguinte:Erro 10 No entanto o erro também poderá ocorrer se tentar utilizar o ' ReDim ' para alterar o número de elementos de uma matriz de tamanho fixo. Por exemplo, no seguinte código, a matriz fixo FixedArr é recebido 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á a ser utilizada como divisor é zero. Verifica a ortografia das variáveis na expressão. Um nome de variável com erros ortográficos implicitamente pode criar uma variável numérica que é inicializada para zero. Verificar operações anteriores variáveis numa expressão, especialmente aqueles transmitido para o procedimento como argumentos de outros procedimentos.Tipo incorrecto (erro 13)Causas possíveis deste erro são:
Espaço de cadeia (erro 14)O sistema pode ter fique sem memória impediu uma cadeia a ser atribuído. Do mesmo modo, que requerem que cadeias temporárias ser criado para avaliação de expressões poderão estar a causar este erro. Por exemplo, o seguinte código irá causar uma saída de erro do espaço de cadeia:
MyString = "Hello"
For Count = 1 To 100
MyString = MyString & MyString
Next Count
Visual Basic permite-lhe atribuir uma cadeia com um comprimento máximo de 65.535 caracteres. No entanto, na execução de instruções em tempo de execução, a aplicação inicial tem de utilizar algum espaço de cadeia para utilização de recursos. A quantidade de sobrecarga varia entre anfitriões, mas não deve exceder 50 bytes. Se necessitar de atribuir uma cadeia do comprimento máximo que o anfitrião pode suportar, reduzir o tamanho cadeia pelos bytes 50 e aumente o comprimento gradualmente até que este erro é gerado de novo. O valor precedente imediatamente o erro representa tamanho o anfitrião máximo. Cadeia fórmula demasiado complexa (erro 16)Uma expressão de cadeia é demasiado complexa. Cadeias não atribuídas a variáveis (como os devolvidos por funções) são atribuídas a locais temporários durante a avaliação da expressão de cadeia. A existência de um grande número destas cadeias de caracteres pode causar este erro. Tente atribuir estas cadeias de caracteres a variáveis e utilize as variáveis na expressão.Não é possível efectuar a operação pedida (erro 17)Não é possível executar a operação pedida porque seria invalidar o estado actual do projecto. Por exemplo, o erro ocorre se utilizar a caixa de diálogo References (no menu Ferramentas, clique em Rererences) adicionar uma referência a uma nova biblioteca de projecto ou objecto enquanto um programa é no modo de interrupção.Interrupção de utilizador Ocorreu (erro de 18)Um CTRL+BREAK ou outra tecla de interrupção tem sido premida pelo utilizador.Continuar sem erros (erro 20)Foi encontrada uma instrução de continuar, mas é fora o código de tratamento de erro ou ocorreu enquanto não ocorreu nenhuma rotina de tratamento de erros activa.Sem espaço na pilha (erro 28)Causas possíveis deste erro são:
Sub ou função não definido (erro 35)Um procedimento Sub, Function ou Property denomina-se mas não está definido.Causas possíveis deste erro são:
Erro ao carregar a DLL (erro 48)Não é possível carregar a especificado biblioteca de ligação dinâmica (DLL). Normalmente, é porque o ficheiro especificado com a cláusula biblioteca na instrução Declare não é uma DLL de válida.Causas possíveis deste erro são:
DLL inválido (erro 49) de convenção de chamadaO programa está a chamar uma rotina na biblioteca de ligação dinâmica (DLL) que está a transmitir o tipo errado ou número de argumentos ou que não utiliza a convenção Pascal. Certifique-se que os argumentos passados para a rotina DLL exactamente correspondem argumentos esperados pela rotina. Se a rotina DLL espera argumentos por valor, certifique-se de que ByVal for especificado para esses argumentos na declaração para a rotina.Erro interno (erro 51)Ocorreu uma falha interna no Visual Basic. A menos que esta chamada tiver sido criada por instrução do erro, contacte o suporte técnico da Microsoft para relatar as condições sob o qual a mensagem apresentada.Nome de ficheiro incorrecto ou número (erro 52)Uma instrução se referir a um ficheiro com um número de ficheiro ou nome de ficheiro:
Ficheiro não encontrado (Erro 53)Causas possíveis para este erro em tempo de execução são:
Modo de ficheiro inválido (erro 54)Causas possíveis deste erro são:
Ficheiro já aberto (erro 55)Causas possíveis deste erro são:
Erro de E/s de dispositivo (erro 57)Ocorreu um erro entrado ou saído enquanto o programa foi a utilizar um dispositivo tal como uma impressora ou a unidade de disco.O ficheiro já existe (erro 58)Durante o tempo de execução, este erro ocorre quando o novo nome de ficheiro (por exemplo, um especificados numa instrução nome) é idêntico a um nome de ficheiro que já existe. Também ocorre quando utiliza o guardar como para guardar um projecto carregado se o nome do projecto já existir.Comprimento de registo danificado (erro 59)O comprimento de uma variável de registo para uma instrução ' Get ou PUT não coincide com o comprimento especificado na instrução Open correspondente. Uma vez que um descritor de dois bytes é sempre adicionado a uma cadeia de comprimento variável PUT para um ficheiro de acesso aleatório, a cadeia de comprimento variável tem de ser menos do que o comprimento de registo especificado na cláusula comp da instrução Open, pelo menos, dois caracteres.Tipos de dados variante requerem também um descritor de dois bytes. Variantes que contêm cadeias de comprimento variável requerem um descritor de quatro bytes. Por conseguinte, para cadeias de comprimento variável numa variante, a cadeia tem de ser, pelo menos, 4 bytes de menor do que o comprimento de registo especificado na cláusula comp. Disco cheio (erro 61)Causas possíveis deste erro são:
Entrada de fim da linha (erro 62)Uma entrada # ou # statement de entrada de linha está a ler a partir de um ficheiro no qual todos os dados já tenham sido lidos ou de um ficheiro vazio. Para evitar este erro, utilize a função EOF (imediatamente antes # statement Input) para detectar o fim do ficheiro.Número de registo danificado (erro 63)O registo número uma instrução PUT ou obter é menor ou igual a zero.Demasiados ficheiros (erro 67)Causas possíveis deste erro são:
Dispositivo indisponível (erro 68)O dispositivo que está a tentar aceder não é online ou não existe.Permissão negada (erro 70)Foi efectuada uma tentativa para escrever num disco protegido contra escrita ou para aceder a um ficheiro bloqueado. Por exemplo, este erro irá ocorrer se uma instrução Open para saída é efectuada num ficheiro protegido contra escrita.Disco não preparado (erro 71)Não existe 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 mudar o nome com outra unidade (erro 74)Não pode utilizar a instrução de nome para mudar o nome num ficheiro com uma nova designação de unidade. Utilize FileCopy para escrever o ficheiro para outra unidade e eliminar o ficheiro com uma instrução de kill antigo.Erro de acesso de caminho/ficheiro (erro 75)Durante uma operação de acesso ao ficheiro ou disco (por exemplo, abrir, MkDir, ChDir ou RmDir), o sistema operativo não conseguiu fazer uma ligação entre o caminho e o nome do ficheiro.Certifique-se que a especificação de ficheiro está formatada correctamente. Um nome de ficheiro pode conter um caminho totalmente qualificado ou relativo. Um caminho totalmente qualificado começa com o nome da unidade (se o caminho for noutra unidade) e lista o caminho explícito da raiz para o ficheiro. Qualquer caminho não é totalmente qualificado é relativo a unidade e directório actuais. Este erro também pode ocorrer ao tentar guardar um ficheiro que deverá substituir um ficheiro só de leitura existente. Caminho não encontrado (erro 76)Durante uma operação de acesso ao ficheiro ou disco (por exemplo, abrir, MkDir, ChDir ou RmDir), o sistema operativo não conseguiu encontrar o caminho especificado. O erro ocorre também no ambiente de depuração se tentar abrir um projecto ou inserir um ficheiro de texto com um caminho inválido. Certifique-se que o caminho está escrito correctamente.Variável de objecto não definido (erro 91)Está a tentar utilizar uma variável de objecto que não é ainda referenciar um objecto válido ou um que foi definida como Nothing. Especificar ou reespecificar uma referência para a variável de objecto. Por exemplo, se a instrução Set foi omitida no seguinte código, será gerado um erro:Dim MyObject As Object ' Creates object variable. Set MyObject = Sheets(1) ' Creates valid object reference. MyCount = MyObject.Count ' Assigns Count value to MyCount. Para repetir não inicializado (erro 92)Já passou no meio de um ciclo for... Next. Não é recomendada a colocar rótulos dentro de um ciclo for... Next.Cadeia de padrão inválido (erro 93)A cadeia de padrão especificada na operação de uma procura LIKE é inválida. Um exemplo comum de uma expressão da lista de carácter inválido é [a-b, onde o parêntese direito está em falta.Utilização inválida de nulo (erro 94)Está a tentar obter o valor de uma variante variável ou expressão é nulo. Nulo é um subtipo de variante utilizado 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; um formato inválido (erro 323)O módulo que tentou carregar não for um módulo de texto. Algumas versões do Visual Basic permitem guardar o código nos formatos binário e texto. Se possível, recarregar o ficheiro na aplicação em que foi guardado pela última vez e guardá-lo como texto. Este código de erro se aplica ao Microsoft Excel para Windows 95, apenas a versão 7.0.Propriedade ou método não encontrado (erro 423)Object.Method ou object.property é referida, mas método ou propriedade não está definida ou pode ter escrito incorrectamente o nome do objecto. Para ver as propriedades e métodos estão definidos para um objecto, seleccione o Object Browser no menu Ver. Seleccione a biblioteca adequada e objecto para apresentar os métodos e propriedades disponíveis.Objecto necessário (erro 424)Ter referido um método ou propriedade de objecto, mas não forneceu um qualificador de objecto válido.Classe não suporta a automatização OLE (erro 430)O objecto especificado na chamada de função GetObject ou CreateObject foi encontrado mas não foi apresentada uma interface de programação. Por isso não é possível escrever código para controlar o comportamento deste objecto. Consulte a documentação da aplicação que criou o objecto para limitações na utilização de automatização OLE com esta classe de objecto.O objecto não suporta esta propriedade ou método (erro 438)Este método ou propriedade não existe para este objecto de automatização OLE. Consulte a documentação do objecto para obter mais informações no objecto e para verificar a ortografia de propriedades e métodos.Erro de automatização OLE (erro 440)Ocorreu um erro ao executar um método ou aceder a uma propriedade de uma variável de objecto. O erro foi comunicado pela aplicação que criou o objecto.O objecto não suporta esta acção (erro 445)Este método ou propriedade não é suportada por este objecto. Consulte a documentação do objecto para obter mais informações no objecto e para verificar a ortografia de propriedades e métodos.O objecto não suporta argumentos com nome (erro 446)Argumentos só podem ser especificados pela posição quando executar métodos neste objecto. Consulte a documentação do objecto para obter mais informações no argumento posições e tipos.O objecto não suporta definições actuais de região (erro 447)O objecto que está a tentar aceder não suporta a definição de região para o projecto actual. Por exemplo, se o projecto actual tiver a região definição Francês Canadiano, o objecto que está a tentar aceder tem de suportar essa definição de região. Verifique as definições de região suporta o objecto.Tenha também em atenção que o objecto poderá dependem do suporte de idioma nacional numa biblioteca de ligação dynaminc (DLL), por exemplo OLE2NLS.DLL. Se for esse o caso, poderá ter uma versão mais recente que suporta a região de projecto actual. Argumento com nome não encontrado (erro 448)Especificou um argumento com nome, mas não foi definido o procedimento para aceitar um argumento com esse nome. Verifica a ortografia do nome do argumento.Argumento não opcional (erro 449)O número e tipos de argumentos tem correspondem às esperado. Por exemplo, a função esquerda requer dois argumentos, a primeira que representa a cadeia de caracteres a ser utilizado no e o segundo que representa o número de caracteres a devolver do lado esquerdo da cadeia. Uma vez que nenhum argumento é opcional, ambos devem ser fornecidos.Um argumento apenas pode ser omitido de uma chamada para um procedimento definido pelo utilizador se esta foi declarada opcional na declaração de 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.Objecto não é uma colecção (erro 451)Especificou uma operação ou propriedade que é exclusiva para colecções, mas o objecto não é uma colecção. Verifique a ortografia do nome do objecto ou propriedade ou verificar se o objecto é uma colecção.Inválido ordinal (erro 452)A chamada para uma biblioteca de ligação dinâmica (DLL) indicado para utilizar um número em vez de um nome de procedimento, utilizando a sintaxe #num. No entanto, falha ao tentar converter num expressão um ordinal ou num especificado não especifica qualquer função na DLL. Certifique-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)Foi encontrada a biblioteca de dinâmica ligação (DLL) numa referência de biblioteca de utilizador, mas a função DLL especificada não foi encontrada na DLL. Um ordinal inválido pode ter sido especificado na declaração da função. Além disso, a DLL pode ter o direito nome mas não é a versão que contém a função especificada.Recurso de código não encontrado (erro 454)Foi efectuada uma chamada para um procedimento de um recurso de código, mas não foi possível encontrar o recurso de código. Este erro só pode ocorrer no sistema operativo Macintosh.Erro de bloqueio de recurso de código (erro 455)Foi efectuada uma chamada para um procedimento de um recurso de código. O recurso de código foi encontrado, mas ocorreu um erro quando foi efectuada uma tentativa para bloquear o recurso. Procure o erro devolvido pelo HLock (por exemplo, "Expressão numa alça vazia" ou "Expressão num bloco livre"). Este erro só pode ocorrer no sistema operativo Macintosh.[Objecto] não tem a propriedade [nome da propriedade] (erro 1000)A propriedade não existe para este objecto. Para ver uma lista de propriedades para este objecto, escolha Object Browser no menu Ver e clique no botão de interrogação na caixa de diálogo Localizador de objectos para visualizar o tópico de ajuda do Visual Basic para este objecto.[Objecto] não tem o método de [nome do método] (erro 1001)O método não existe para este objecto. Para ver uma lista dos métodos para este objecto, escolha Object Browser no menu Ver e clique no botão de interrogação na caixa de diálogo Localizador de objectos para visualizar o tópico de ajuda do Visual Basic para este objecto.Falta argumento necessário [argumento] (erro 1002)O método esperado um argumento necessário não existe. Adicione o argumento de código. Para ver uma lista de argumentos necessários, escolha Object Browser no menu Ver e clique no botão de interrogação na caixa de diálogo Localizador de objectos para visualizar o tópico de ajuda do Visual Basic.Número inválido de argumentos (erro 1003)O método tem o número errado de argumentos. Isto ocorre normalmente quando utilizar argumentos separados por vírgulas posição (em vez de argumentos com nome) e tem demasiados argumentos.Para ver os argumentos válidos para este método, escolha Object Browser no menu Ver e clique no botão de interrogação na caixa de diálogo Localizador de objectos para visualizar o tópico de ajuda do Visual Basic para este método. Método de [nome do método] de [objecto] classe falha (erro 1004)Ocorreu um erro externo, tal como uma falha de leitura ou escrita a partir de um ficheiro. O método não pode ser utilizado no objecto. Razões possíveis incluem:
Não é possível definir a propriedade [nome da propriedade] da classe [objecto] (erro 1005)A propriedade não pode ser alterada. Razões possíveis incluem:
Não é possível obter a propriedade [nome da propriedade] da classe [objecto] (erro 1006)A propriedade não pode ser alterada. Razões possíveis incluem:
ReferênciasPara mais informações sobre códigos de erro, escolha o botão Procurar na ajuda e escreva: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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 de Artigos
|






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


Voltar ao topo