VB6のデータを保持したい

解決済みの質問

VB6のデータを保持したい

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

投稿日時 - 2009-08-04 11:34:29

連想キーワード:

QNo.5180754

困ってます

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

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

投稿日時 - 2009-08-04 11:53:48

お礼

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

投稿日時 - 2009-08-04 17:02:31

ANo.1

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.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

投稿日時 - 2009-08-04 13:32:51

お礼

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

投稿日時 - 2009-08-04 17:05:52

あわせてチェックしたい
  • vb6.0 sp5 TEXTBOXのプロパティでストール ...
  • VB2005 ComboBoxの値の取得について ...
  • vb6のTEXTBOX ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら