• 締切済み

リストボックスの保存2

リストボックスの全ての項目をテキストファイルに保存する方法を、先程教えて頂きスレッドを締めてしまったのですが、新たに問題が発生したのでこちらで質問させて頂きます。 先程教えて頂いた構文でリストボックスの項目をファイルに保存する事はできたのですが、追加保存されてしまい、繰り返して実行すると同じ内容のデータが増えてしまいます。追加保存ではなく全て内容を入れ替えるにはどうしたらよいでしょうか? ----------教えて頂いた構文----------- Dim hFile As Integer hFile = FreeFile() '<< 書き込むファイルをオープン Open "C:\Text.txt" For Append As #hFile Dim nCnt As Integer nCnt = 0 Do Until (nCnt >= List1.ListCount) '<< 書き込み Print #hFile, List1.List(nCnt) nCnt = nCnt + 1 '<< カウントアップ Loop Close #hFile '<< ファイルクローズ ----------------ここまで-------------- これですと、リストボックスに 東京 大阪 名古屋 上のように3つの項目があるとして、上記のコマンドを複数回行うと 東京 大阪 名古屋 東京 大阪 名古屋 東京 大阪 名古屋 とデータが重複してしまいます。 これを回避する方法を教えて下さい。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>For Append は今あるファイルのレコードはそのままにして、その後にレコードを追加していくOPENステートメントの一部(アクセス方法指定という)です。ですから質問のようになります。 Appendは「付加する」の意味。Appendix付録、付加物。a(p)+pend(ぶら下がる、ペンダント、振り子Pendulumなどと同根?) 同じ(指定した)ファイルの最初から、前のレコード内容を無視して、初めから上書きして書き出していく(前のはきえる)のは、FOR OUTPUTです。 回答に見慣れない語句がある場合、WEB照会などして、調べる習慣をつけてください。実行して結果OKだけでなく。 回答を実行もしないで、「やってみます、ありがとう」で締め切っている質問者も多いが。 ついでに、FreeFileなども調べましたか。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

VBのリファレンスは、お持ちじゃないですか? 質問する前に、調べる習慣をつけてください。 For Append を For output にしてください。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_k04.htm

関連するQ&A