レコード長が正しくありません (エラー 59)

Get または Put ステートメントのレコード変数の長さは、対応する Open ステートメントで指定された長さである必要があります。 このエラーの原因と解決策は次のとおりです。

  • レコード変数の長さが、対応する Open ステートメントで指定された長さではありません。 レコード変数の型を定義するユーザー定義型の固定長変数のサイズの合計が、Open ステートメントの Len 句で記述された値と同じであることを確認します。 次の例では、 RecVar が適切な型の変数であることを前提としています。 Len 関数を使用して、次のように長さを指定します。

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • Put ステートメントの変数は、可変長文字列 (または含む) です。 2 バイト記述子は常に、Put を使用してランダム アクセス ファイルに配置された可変長文字列に追加されるため、可変長文字列は Open ステートメントの Len 句で指定されたレコード長より少なくとも 2 文字短くする必要があります。

  • Put ステートメントの変数が Variant であるか、この変数に Variant が含まれます。 可変長文字列と同様、バリアント型 (Variant) にも 2 バイト記述子が必要です。 また、可変長文字列が含まれるバリアント型 (Variants) には 4 バイト記述子が必要です。 したがって、Variant の可変長文字列については、Len 句で指定されたレコードの長さよりも、少なくとも 4 バイト分は短くなければなりません。

詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。