Comprimento de registro incorreto (Erro 59)

O comprimento de uma variável de registro em uma instrução Get ou Put deve ser o comprimento especificado em sua instrução Open correspondente. Esse erro tem as seguintes causas e soluções:

  • O comprimento da variável de registro difere do comprimento especificado na instrução Open correspondente. Certifique-se de que a soma dos tamanhos das variáveis de comprimento fixo no tipo definido pelo usuário que define o tipo da variável de registro seja igual ao valor indicado na cláusula Len da instrução Open. No exemplo a seguir, assume RecVar é uma variável do tipo apropriado. Use a função Len para especificar o comprimento, da seguinte maneira:

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • A variável em uma instrução Put é (ou inclui) uma cadeia de caracteres de comprimento variável. Como um descritor de 2 bytes é sempre adicionado a uma cadeia de caracteres de comprimento variável colocada em um arquivo de acesso aleatório com Put, a cadeia de caracteres de comprimento variável deve ser pelo menos 2 caracteres menor que o comprimento de registro especificado na cláusula Len da instrução Open .

  • A variável em uma instrução Put é (ou inclui) uma Variant. Assim como as cadeias de caracteres de comprimento variável, os tipos de dados Variant também exigem um descritor de 2 bytes. Variantes contendo cadeias de caracteres de comprimento variável requerem um descritor de 4 bytes. Portanto, para cadeias de caracteres de comprimento variável em uma Variant, a cadeia de caracteres deve ser pelo menos 4 bytes menor que o comprimento do registro especificado na cláusula Len .

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.