VB2010でのバイナリファイルの書き込みについての質問です
ある構造体の配列変数Record()をFileOpenとFilePutを使って

N:ファイル番号
SaveFileName:ダイアログで取得した出力ファイル名
RecordSize:配列のサイズ

N = FreeFile()
FileOpen(N, SaveFileName, OpenMode.Binary, OpenAccess.Write, OpenShare.LockReadWrite)
Seek(OpenFileNumber, 1)
For i As Long = 0 To RecordSize
FilePut(N, Record(i))
Next
FileClose(N)

といった感じで実装しています(実際にはエラー処理のためTry〜End Tryの中に記述)
通常はこの処理で問題ないんですが、既に存在しているファイルに上書きしようとした場合、既存のファイルが上書きしようとする
ファイルよりも大きいと、余った分のサイズが上書きされず前の古いファイルの内容が残ってしまいます
上書き時に既に存在するファイルを完全に置き換える(つまり古いファイルは消える)にはどうすればいいのでしょうか?
ファイルをオープンする前にSaveFileNameに該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・