VB6 Open For Random Len=したファイルからGETするときのバッファ

仕事でVB6。固定長レコードのファイルをランダムに読み取るコードを実装していたんだけど困ったことが。

Dim fh As Long
Dim Data As String
Dim RecPosition As Long 
fh=Freefile(0)
Open "hogefuga.txt" For Random As #fh Len = 202 '200Byte + CRLF
RecPosition = 1
Get #fh,RecPosition,Data
Debug.Print Data

こんなコードを動かすと、なんとGet文が実行時エラー。エラーコード59で、レコード長がちがいますとかいわれます;; レコード長はOpenで固定長202バイトだって宣言してるのに!
Dataの宣言を次のように直すと動くんだコレが。

Dim Data As String * 202

でも、この202が変わりうるプログラムを作っているので激しく困惑。

Dim DataLen As Integer
DataLen = 202
Dim Data As String * DataLen

これは構文エラー;; MSDNによるとDimは文だから実行時に解決できそうなもんなんだけど、コンパイル時に解決しようとする。んもう、不便だなあ。

ま、いまどきVB6を使うな、ということかな。やむなしで、1Byteずつ読み取って1レコード文の長さになるまで読み取りバッファにデータをくっつけていくループを記述。

バカみたいだ。

…いや、ちがう。

バカだ。orz