目次へ戻ります
VB サンプル


VB レジストリ操作編

Visual Basic で作成されたアプリケーションのプログラム情報は、次の標準レジストリ エントリに保存されます。

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\アプリケーション名\セクション名\キー名
●GetSetting レジストリからキーの値を返す
●GetAllSetting レジストリからキー名とキーの値の配列を返す
●SaveSetting レジストリへキーの値を保存
●DeleteSetting レジストリのセクションまたはキーの削除
【サンプルリスト】

'===============================================================
'  アプリケーション名とセクション名から、キー名と値をすべて抽出する
'===============================================================
Private Sub Command1_Click()

   Dim result As Variant  'リストを格納する変数
   Dim i As Integer

   result = GetAllSettings("VBsample", "Setup")                      'キーのリストを作成

   For i = LBound(result, 1) To UBound(result, 1)                    'キーの数だけループ
      Debug.Print "キー名:" & result(i, 0) & " 値:" & result(i, 1)   'キー名と値の表示
   Next i

End Sub
●GetSetting関数

【機能】 指定したアプリケーション名、セクション名、キー名から、値を返します。
【書式】 result = GetSetting (アプリケーション名, セクション名, キー名, 初期値)
【 例 】 result = GetSetting("VBsample", "Setup", "Version", "インストールされていません")
result = GetSetting("VBsample", "Setup", "Version")
result = GetSetting("VBsample", "Setup\User", "Version")    '階層がある場合
result = GetSetting("VBsample\Setup", "User", "Version")    '階層がある場合

※ キー設定が無い場合は、初期値で設定した値が返ります。初期値を省略すると、ヌルストリング ("") が返ります。
※ 指定するアプリケーション名、セクション名、キー名は、大文字/小文字の区別はしません。
※ HKEY_CURRENT_USER\Software\VB and VBA Program Settings 配下にしかアクセスできません。
●GetAllSetting関数

【機能】 指定したアプリケーション名、セクション名から、キー名とキー値のリストを返します。
【書式】 result = GetAllSetting (アプリケーション名, セクション名)
【 例 】 Dim result As Variant  'リストを格納する変数
Dim i As Integer
result = GetAllSettings("VBsample", "Setup")    'キーのリストを作成
For i = LBound(result, 1) To UBound(result, 1)  'キーの数だけループ
   Debug.Print "キー名:" & result(i, 0) & " 値:" & result(i, 1)
Next i

※ アプリケーション、または、セクションが存在しない場合は、初期化されていないバリアント型 (Variant) の値を返します。
※ HKEY_CURRENT_USER\Software\VB and VBA Program Settings 配下にしかアクセスできません。
●SaveSettingステートメント

【機能】 指定したアプリケーション名、セクション名、キー名へ、値を保存/作成します。
【書式】 SaveSetting アプリケーション名, セクション名, キー名, 値
【 例 】 SaveSetting "VBsample", "Setup", "Version", 3
SaveSetting "VBsample", "Setup\User", "Version", 3    '階層を増やす場合
SaveSetting "VBsample\Setup", "User", "Version", 3    '階層を増やす場合

※ キー設定が保存できない場合、エラーが発生します。
※ アプリケーション名は "HKEY_CURRENT_USER\Software\VB and VBA Program Settings" 配下に書き込まれます。
●DeleteSettingステートメント

【機能】 指定したアプリケーション、または、セクション、もしくは、キーを削除します。
【書式】 DeleteSetting アプリケーション名, セクション名, キー名   ※指定のキーを削除します
DeleteSetting アプリケーション名, セクション名           ※指定のセクションを削除します
DeleteSetting アプリケーション名                         ※指定のアプリケーションを削除します
【 例 】 DeleteSetting "VBsample", "Setup", "Version"
DeleteSetting "VBsample", "Setup"
DeleteSetting "VBsample"

※ アプリケーション、または、セクション、もしくは、キー設定が存在しない場合は、エラーが発生します。
※ HKEY_CURRENT_USER\Software\VB and VBA Program Settings 配下にしかアクセスできません。

目次へ戻ります