重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (2件)

いつも、同じ値を入れておきたいなら、


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
のように。(上記コードではあらかじめ、テキストファイルを作っておかないとエラーがおきるので、、)
データの保存は、データベースを使う場合もある。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/08/04 17:02

一旦プログラム終了するということはプログラムの情報を開放するということです。


なので、前回入力されていた情報を次回も復元する場合にはどこかに情報を保持しなければいけません。

■テキストに読み書きする
http://www.red.oit-net.jp/tatsuya/vb/Open.htm

■XMLならこの辺りが参考になる(単純に読み書きしかしてません。)
http://t-yoshi-tomi.at.webry.info/200905/article …

■DOMDocumentの操作はこちらを見ればわかる
http://www.atmarkit.co.jp/fdotnet/easyxml/easyxm …
http://www.red.oit-net.jp/tatsuya/vb/XML.htm
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/08/04 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!