记录长度不佳(错误 59)

GetPut 语句中的记录变量的长度必须是在其对应的 Open 语句中指定的长度。 此错误的原因和解决方案如下:

  • 记录变量的长度与对应的 Open 语句中指定的长度不同。 确保用于定义记录变量类型的用户定义类型中固定长度变量大小的总和与 Open 语句的 Len 子句中指定的值相同。 在以下示例中,假定 RecVar 是适当类型的变量。 使用 Len 函数指定长度,如下所示:

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • Put 语句中的变量是(或包括)一个可变长度的字符串。 由于总是会向使用 Put 放入随机访问文件中的可变长度字符串添加一个两字节描述符,因此可变长度的字符串必须至少比 Open 语句的 Len 子句中指定的记录长度少两个字符。

  • Put 语句中的变量是(或包括)一个 Variant 。 与可变长度字符串一样,Variant 数据类型也需要一个两字节描述符。 包含可变长度字符串的 Variant 需要一个 4 字节描述符。 因此,对于 Variant 中的可变长度字符串,字符串必须至少比 Len 子句中指定的记录长度少 4 个字节。

有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。