今更な話題ですが……Excel VBAからWin32 API(RegSetValueEx)をつかってレジストリに設定値などを書き込もうとした場合、今実際に調べた感じでは以下のような制約があるようです。
※業務用の環境で試していますので、一般的な話では無いかもしれません。あくまで一つのケースとして、また、調査でのパターン切り分けの参考程度に考えてください。
ルートキー | Excelのモード | 読み出し | 書込み |
---|---|---|---|
HKEY_CLASSES_ROOT | 一般 | ○ | × |
HKEY_CLASSES_ROOT | 管理者として開く | ○ | × |
HKEY_CURRENT_USER | 一般 | ○ | ○ |
HKEY_CURRENT_USER | 管理者として開く | ○ | ○ |
HKEY_LOCAL_MACHINE | 一般 | ○ | × |
HKEY_LOCAL_MACHINE | 管理者として開く | ○ | × |
HKEY_USERS | 一般 | ○ | × |
HKEY_USERS | 管理者として開く | ○ | ○ |
HKEY_CURRENT_CONFIG | 一般 | ○ | × |
HKEY_CURRENT_CONFIG | 管理者として開く | ○ | × |
ただし、Excelを管理者として開いて動かした場合、上表で×になっている部分についてはいずれの書き込み命令も処理の戻り値は「0」(成功)が返ります。しかし、値は設定されていません。
また、HKEY_CURRENT_USERS/Software/Classes は、HKEY_CLASSES_ROOT とつながっており、CURRENT_USERS経由でCLASSES_ROOTに値を設定することも可能なようです。
ま、いまどきレジストリを使って設定値を保管しようってプログラムを作ることも無いでしょうけど。参考まで。
なお、上記動作はWindows 7 32bit日本語版で、Office 2010、Office 2013で確認しました。ただ、業務用PCのため特殊な権限設定が行われている可能性はあります。必ずしも一般的な話と断定できないということはご了承ください。

APIで学ぶWindows徹底理解 (日経BPパソコンベストムック)
- 作者: 安室浩和,日経ソフトウエア編
- 出版社/メーカー: 日経BP社
- 発売日: 2004/04/15
- メディア: 雑誌
- 購入: 17人 クリック: 240回
- この商品を含むブログ (33件) を見る