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

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este 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ção

A 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:

  • O resultado de uma atribuição, cálculo ou conversão de tipo de dados é demasiado grande para ser representado dentro do intervalo permitido para esse tipo de variável.

    - ou -
  • Uma atribuição a uma propriedade excede o valor máximo que pode aceitar a propriedade.

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:

  • Feche todas as aplicações desnecessárias, documentos ou ficheiros de origem que estão na memória.
  • Se tiver módulos extremamente grandes ou procedimentos, considere separá-los em pequenas. Este procedimento não poupar memória, mas pode impedir atingindo 64 K segmento limites.
  • Se estiver a executar Microsoft Windows no modo padrão num computador 80486 ou 80386, tente executá-lo em modo avançado.
  • Se o Microsoft Windows em modo avançado, liberte algum espaço em disco ou, pelo menos, certifique-se que existe algum espaço.
  • Elimine terminar programas-and-stay-resident (tsr).
  • Elimine controladores desnecessários.
  • Reduza o número de variáveis globais.

Í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:

   Sub FirstOne

   Static FixedArr(25) As Integer   ' Create a fixed-size array
      NextOne FixedArr()            ' and pass it to another sub.

   End Sub

   Sub NextOne(SomeArr() As Integer)

   ReDim SomeArr(35)   ' Duplicate definition occurs here.
   . . .
   End Sub
				


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:

  • A variável ou propriedade não é do tipo correcto. Por exemplo, uma variável que requer um valor inteiro que não é possível aceitar um valor de cadeia.
  • Foi passado um objecto para um procedimento que está à espera uma única propriedade ou valor.
  • Foi utilizado um nome de módulo ou projecto onde uma expressão era esperada, por exemplo:

    Debug.Print MyModule
  • Tentativa de misturar erro Basic tradicional processamento com valores variante com o subtipo de erro (10, vbError); por exemplo:
  • Erro CVErr(n)

    Um valor CVErr não pode ser convertido para data ou tipos numéricos (número inteiro, longo etc.); por exemplo:

    MyVar = CInt(CVErr(9))

    Durante o tempo de execução, este erro indica normalmente que uma variante utilizada numa expressão tem um subtipo incorrecto ou que uma variante contendo uma matriz apresentadas numa instrução de impressã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.

   Dim MyString As String * 65485
                      ' Start with (65535-50).
                      ' On successive runs, increment
                      ' length until "Out of string
                      ' space" error occurs.

   Sub MySub
        MyString = "string" ' Error occurs here when the
   End Sub                  ' maximum length is exceeded.
				


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:

  • Demasiadas activas Function ou sub chamadas. Verifique que procedimentos gerais recursiva não estão demasiado aninhados e podem terminar correctamente.
  • As variáveis locais requerem mais espaço de variável local não está disponível. Tente declarar em vez disso, algumas variáveis ao nível do módulo. Pode também declarar todas as variáveis no procedimento estático precedendo a palavra-propriedades, sub ou Function chave com estático. Ou, pode utilizar a instrução estática declarar variáveis de estáticas individuais dentro de procedimentos.
  • Cadeias de comprimento fixo utilizam mais espaço de pilha de cadeias de comprimento variável. Tente redefinir algumas as cadeias de comprimento fixo como cadeias de comprimento variável.
  • Demasiados instruções DoEvents aninhadas.
Utilize a caixa de diálogo chamadas para ver os procedimentos estão activos (na pilha). Para apresentar a caixa de diálogo chamadas, seleccione o botão à direita da caixa de procedimentos na janela de depuraçã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:

  • O nome do procedimento está incorrecto.
  • O procedimento especificado não é visível para chamar o procedimento. Procedimentos declarados que não é possível ser chamada privada de um módulo a partir de procedimentos fora do módulo. Se Option Private Module em vigor, procedimentos do módulo não estão disponíveis para outros projectos. Escolha Localizar no menu Editar para localizar o procedimento.
  • Tenha declarado uma rotina de biblioteca de ligação dinâmica (DLL), mas a rotina não está na biblioteca especificada.

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:

  • O ficheiro não é executável DLL.
  • O ficheiro não é uma DLL do Microsoft Windows.
  • O ficheiro é uma DLL do Windows Microsoft antigo que é incompatível com o Microsoft Windows proteger modo.
  • A DLL referencia outra DLL que não está presente.
  • A DLL ou uma das DLLs referidas não está num directório especificado pelo seu caminho.

DLL inválido (erro 49) de convenção de chamada

O 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:

  • Um nome inválido ou número
  • Não especificados na instrução Open
  • Especificados numa instrução abrir, mas uma vez que foi fechado
  • Fora do intervalo de números de ficheiro (1-511)
No Microsoft Windows, utilize as seguintes convenções para atribuir nomes a ficheiros e directórios:

  • O nome de um ficheiro ou directório pode ter duas partes: um nome e uma extensão opcional. As duas partes são separadas por um período de tempo, por exemplo, myfile.new.
  • O nome pode conter até oito caracteres e a extensão pode conter até três caracteres.
  • O nome tem de começar com uma letra ou número. Pode conter quaisquer letras maiúsculas ou minúsculas (nomes de ficheiros não são sensíveis a maiúsculas e minúsculas) caracteres, excepto o seguinte:

       Character     Description
       ----------------------------------
    
        .           Period
        "           Quotation mark
        '           Single quotation mark (apostrophe)
        +           Plus sign
        /           Slash
        \           Backslash
        [ ]         Brackets
        :           Colon
        ;           Semicolon
        |           Vertical bar (pipe)
        =           Equal sign
        ,           Comma
  • O nome não deve conter espaços. Os seguintes nomes estão reservados e não pode ser utilizados para ficheiros ou directórios: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN e NUL. Por exemplo, se tentar atribuir nome a um ficheiro PRN uma instrução Open, a impressora predefinida basta ficará o destino para impressão # e escrever # statements direccionado para o número de ficheiro especificado na instrução Open.
  • Seguem-se exemplos de nomes de ficheiro válidos do Microsoft Windows:

    LETRA.DOC
    MEMO.TXT
    BUDGET.92
    12345678.901
    2NDTRY.RPT
  • No Macintosh, um ficheiro pode ter qualquer carácter excepto os dois pontos (:) e pode conter espaços. Caracteres de nulos [Chr(0)] não são permitidas em quaisquer nomes de ficheiro.

Ficheiro não encontrado (Erro 53)

Causas possíveis para este erro em tempo de execução são:

  • Uma instrução (por exemplo, kill, nome ou abrir) refere-se a um ficheiro que não existe.
  • Foi efectuada uma tentativa de chamar um procedimento numa biblioteca de ligação dinâmica (DLL), mas o nome de ficheiro de biblioteca especificado a cláusula de biblioteca da instrução Declare não é possível localizar.
No ambiente de desenvolvimento, este erro ocorre se tentar abrir um projecto ou carregar um ficheiro de texto que não existe.

Modo de ficheiro inválido (erro 54)

Causas possíveis deste erro são:

  • Uma instrução PUT ou obter está a especificar um ficheiro sequencial. Note que coloca e obter apenas pode referir a ficheiros abertos para acesso aleatório.
  • Uma impressão # statement Especifica um ficheiro aberto para um modo de acesso diferente de saída ou acrescentar.
  • Uma entrada # statement Especifica um ficheiro aberto para um modo de acesso diferente a introdução de dados.
  • Qualquer tentativa de escrever para um ficheiro só de leitura.

Ficheiro já aberto (erro 55)

Causas possíveis deste erro são:

  • Uma instrução Open modo sequencial de saída foi executada para um ficheiro que já está aberto.
  • Uma instrução (por exemplo kill, SetAttr ou nomes) refere-se a um ficheiro aberto.

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:

  • Não existe espaço suficiente no disco para a conclusão de uma impressão #, escrever # ou fechar a operação.
  • Não existe espaço suficiente no disco para criar ficheiros necessários.
Para contornar esta situação, mova alguns ficheiros para outro disco ou elimine alguns ficheiros.

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:

  • Existe um limite ao número de ficheiros de disco que podem ser abertos em simultâneo. Para o Microsoft Windows, este limite é uma função dos ficheiros = definição no ficheiro Config.sys. Aumentar esse número e reinicie.
  • O sistema operativo tem um limite para o número de ficheiros no directório raiz (normalmente 512). Se o programa é abrir, fechar ou guardar ficheiros no directório raiz, altere o programa de modo a que utiliza um subdirectório.
  • No Macintosh, o limite padrão é de 40 ficheiros. Este limite pode ser alterado utilizando um utilitário para modificar o parâmetro MaxFiles do bloco de arranque.

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:

  • Um argumento contém um valor que não é válido. Uma causa comum deste problema é tentar aceder a um objecto que não existe [por exemplo, que tentou utilizar livros (5), quando foram apenas três livros abertos].
  • O método não pode ser utilizado no contexto aplicado. Por exemplo, alguns métodos do objecto Range requerem que o intervalo contenha dados; se o intervalo não contiver dados, o método falha.
  • Ocorreu um erro externo, tal como uma falha de leitura ou escrita a partir de um ficheiro.
Para obter mais informações sobre o método, procure ajuda para o nome de método.

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:

  • O valor que está a utilizar a propriedade não é válido (por exemplo, definir uma propriedade para um valor de cadeia, mas a propriedade requer um valor boleano).
  • A propriedade é só de leitura e não pode ser escrita no.

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:

  • O valor estiver a utilizar para a propriedade não é válido; por exemplo, definir uma propriedade para uma cadeia de valor quando a propriedade requer um valor boleano.
  • A propriedade não pode ser utilizada no contexto aplicado. Por exemplo, o código ActiveChart.Legend.Font.Color = RGB (255, 0, 0) provocarão este erro se o gráfico activo não contiver uma legenda.

Referências

Para 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:
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0c
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 5.0a para Macintosh
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.1 Standard Edition
Palavras-chave: 
kbmt kberrmsg kbhowto kbprogramming KB142138 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: 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/ )