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. Verifique se a soma dos tamanhos de variáveis de comprimento fixo no tipo definido pelo usuário que define o tipo da variável de registro é a mesma que o valor indicado na cláusula Len da instrução Open. No exemplo a seguir, suponha que
RecVar
seja 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 de variável deve ser pelo menos 2 caracteres menor do que o comprimento do registro especificado na cláusula Len da instrução Open .
A variável em uma instrução Put é (ou inclui) uma Variant. Como cadeias de caracteres de comprimento variável, os tipos de dados Variant também exigem um descritor de 2 bytes. Variantes que contêm cadeias de caracteres de comprimento variável exigem 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 do que o comprimento de 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.