#060 | フォームを前回閉じたときのプロパティ値を復元するには? | フォーム、VBA | |
テキストボックスへの入力値やコンボボックスでの選択値など、フォームを閉じた際のプロパティ値を次回フォームを開いたときに復元する方法をご紹介します。 それらの値を復元するためには、まずフォームが閉じる際にそれらを保存しておく必要があります。"フォームが閉じる際"に保存処理を行いますので、フォームの[閉じる時]または[読み込み解除時]イベントプロシージャにその処理を記述します。一方、"復元する"処理はフォームの[開く時]または[読み込み時]イベントプロシージャで行います。プロパティ値の保存方法としてはデータベース上のテーブルに保存するという方法もありますが、データベースを共有している場合でもユーザーごとに異なる値を保存できるよう、ここでは「レジストリ」に保存する方法を説明します。 レジストリに値を保存するには SaveSettingステートメントを、また保存されている値を読み出すには GetSetting関数を使用します。次の例ではフォーム上のテキストボックス"txtInputData"に入力された値とコンボボックス"cboSelData"で選択された値を保存・復元します。"MyApp"の部分にはデータベースアプリケーション名を表す任意の名前を指定します。また"StartUp"の部分には保存値をグループ化した名前を指定します。ここではフォームが起動したときに復元する値群を保存するので"StartUp"としましたが、もちろん名前は自由に設定することができます。"InputData"や"SelectData"は保存された値を識別するためのキー名です。これらの名前も自由に指定することができますが、SaveSettingで指定した名前でGetSettingを呼び出す必要があります。 Private Sub Form_Close()
SaveSetting "MyApp", "StartUp", "InputData", Me!txtInputData.Value SaveSetting "MyApp", "StartUp", "SelectData", Me!cboSelData.Value End Sub Private Sub Form_Load() Me!txtInputData.Value = GetSetting("MyApp", "StartUp", "InputData") Me!cboSelData.Value = GetSetting("MyApp", "StartUp", "SelectData") End Sub ※レジストリエディタ(WINDOWS\REGEDIT.EXEです)を起動して、画面左のツリーで HKEY_USERS\.Default\Software\VB and VBA Program Settings を確認してみてください。上記の保存値が見つかるはずです。 |
|||
|
Copyright © T'sWare All rights reserved |