レジストリに情報を保存する


レジストリにアプリケーションの情報を保存するにはSaveSettingステートメント、取得するにはGetSetting関数を使用します。

構文

SaveSetting appname, section, key, setting

appname 設定を適用するアプリケーション名またはプロジェクト名を指定します。
section キー設定を保存するセクション名を指定します。
key 保存するキー名を指定します。
setting 名前付き引数 key に設定する値を指定します。

GetSetting(appname, section, key[, default])

appname キー設定を取得するアプリケーション名またはプロジェクト名を指定します。
section 対象となるキー設定があるセクション名を指定します。
key 取得するキー設定名を指定します。
default キー設定に値が設定されていない場合に返す値を含む式を指定します。省略可能です。

保存したレジストリの情報を削除するには、DeleteSettingステートメントを使用します。

構文

DeleteSetting appname, section[, key]

appname セクションか、キー設定を適用するアプリケーション名またはプロジェクトの名前を含む文字列式を指定します。
section キー設定を削除するセクション名を指定します。 appname およびsection だけを指定した場合、指定されたセクションは関連付けられたすべてのキー設定と共に削除されます。
key 削除するキー名を指定します。省略可能です。

以下のコードでは、ボタン(Command1)を押した時に、ウィンドウの位置とサイズをレジストリに保存し、終了します。また、もう1つのボタン(Command2)を押した時にレジストリに保存した情報を削除します。もし、レジストリに情報が存在しない場合はエラーが発生しますが、そのまま終了しています。

Private Sub Command1_Click()
' レジストリの値を保存して終了する
SaveSetting App.Title, "Test", "Height", Me.Height
SaveSetting App.Title, "Test", "Width", Me.Width
SaveSetting App.Title, "Test", "Top", Me.Top
SaveSetting App.Title, "Test", "Left", Me.Left

Unload Me
End Sub

Private Sub Command2_Click()
' レジストリに保存されていない場合でも継続する
On Error Resume Next

' レジストリの値を削除して終了する
DeleteSetting App.Title

Unload Me
End Sub

Private Sub Form_Load()
' レジストリに保存してあれば読み込む
Me.Height = GetSetting(App.Title, "Test", "Height", 3000)
Me.Width = GetSetting(App.Title, "Test", "Width", 5100)
Me.Top = GetSetting(App.Title, "Test", "Top", 0)
Me.Left = GetSetting(App.Title, "Test", "Left", 0)
End Sub

サンプルプログラムのダウンロード(1.67KB)


戻る