Excel VBAメモ WScriptのRegRead()メソッドを使ってHKEY_LOCAL_MACHINE以下にあるレジストリの値を取得してみる
ヤボ用で必要になったので。
最初はGetSetting()ってメソッドでレジストリの値を取得しようと思ったんだけど、どうやらHKEY_CURRENT_USER\Software\VB and VBA Program Settings\以下のキーしか操作できないらしいので今回の目的にはあわない。
なんだかんだで、とっても簡単にできたかも。
ポイントとしてはこんな感じ。
- WScript.Shellのオブジェクトを使う
- 極力簡単に(dllを読み込んだりなど面倒な処理を追加しないでも)値を取得できる
注意するところとして…今回はレジストリの値を参照するだけだけど、値を変更したり削除するときは絶大で細心に注意すること。
でないと、アプリが起動しなくなったり…最悪再インストールすることになっちゃう。
コードとしては感じ。
とりあえず、試しにAppleのサポートアプリなインストールパスあたりを取得してみることに。
Public Function GetRegistry() As String ' 変数を宣言する Dim objShell As Object Dim strKey As String Dim strValue As String ' 変数を初期化する Set objShell = CreateObject("WScript.Shell") strKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support\InstallDir" strValue = "" On Erorr GoTo MethodEnd ' レジストリの値を取得する strValue = objShell.RegRead(strKey) ' 取得した値をメッセージボックスに表示する MsgBox strValue MethodEnd: ' オブジェクトを破棄する If Not objShell Is Nothing Then Set objShell = Nothing End If End Function
参照するレジストリはエディタでみるとこんな感じ。
んで、実行したらこんな感じ。
ダイアログに値が表示されとる。
んまま、明日への自分へのメモってことで。
ディスカッション
コメント一覧
まだ、コメントがありません