• ベストアンサー

VB6のデータを保持したい

VB6でフォームを作りました。 TextboxやComboboxの値は、一旦プログラムを終了すると消えてしましますが、消えないように内部に記憶したいのです。 次にフォームを開いても前回の値がそのまま残っているようにしたいのです。 TextboxやComboboxのプロパティに書き込めれば保持できるのではないかと思いますが、よくわかりません。 初心者にもわかるように、よい助言をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

いつも、同じ値を入れておきたいなら、 textbox.textのプロパティに値を指定するか フォームを開いたときのイベントで、 Private Sub Form_Load() Me.Text1.Text = "foo" End Sub のように指定すればよい。 フォームに入力した値を保持したいなら、フォームを閉じるときに書き出して、開くときに読み出さなければいけない。 Private Sub Form_Load() Dim FSO As New FileSystemObject Dim TS As TextStream Set TS = FSO.OpenTextFile(App.Path & "\formdata.txt", ForReading) Me.Text1.Text = TS.ReadLine TS.Close Set TS = Nothing Set FSO = Nothing End Sub Private Sub Form_Unload(Cancel As Integer) Dim FSO As New FileSystemObject Dim TS As TextStream Set TS = FSO.OpenTextFile(App.Path & "\formdata.txt", ForWriting, True) TS.WriteLine Me.Text1.Text TS.Close Set TS = Nothing Set FSO = Nothing End Sub のように。(上記コードではあらかじめ、テキストファイルを作っておかないとエラーがおきるので、、) データの保存は、データベースを使う場合もある。

yukioya7
質問者

お礼

回答ありがとうございます。 やはり、プロパティには書き込みできないのですね。 できそうな気がしましたが残念です。

その他の回答 (1)

回答No.2

一旦プログラム終了するということはプログラムの情報を開放するということです。 なので、前回入力されていた情報を次回も復元する場合にはどこかに情報を保持しなければいけません。 ■テキストに読み書きする http://www.red.oit-net.jp/tatsuya/vb/Open.htm ■XMLならこの辺りが参考になる(単純に読み書きしかしてません。) http://t-yoshi-tomi.at.webry.info/200905/article_2.html ■DOMDocumentの操作はこちらを見ればわかる http://www.atmarkit.co.jp/fdotnet/easyxml/easyxml04/easyxml04_01.html http://www.red.oit-net.jp/tatsuya/vb/XML.htm

yukioya7
質問者

お礼

回答ありがとうございます。 外部ファイルに保存しなくてもいい方法は無いかと考えていました。 エクセルに保存することにします。

関連するQ&A