- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レジストリエディタを起動させて手前に表示させたい)
VBAでレジストリエディタを起動して手前に表示させる方法
このQ&Aのポイント
- VBAのコードを使用してレジストリエディタを起動させる方法について説明します。また、レジストリエディタを手前に表示させる方法についても解説します。
- VBAのShell関数を使用してレジストリエディタを起動させることができます。しかし、アクティブにならない場合があります。そのため、AppActivate関数を使用して手前に表示させる必要があります。
- ただし、一度レジストリエディタを起動し、再度コードを実行するとエラーが発生することがあります。このエラーはプロシージャの呼び出しや引数が不正であることを示しています。しかし、それでも一度開いたレジストリエディタはアクティブになります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そちらのOSは、Vista 以降なのではありませんか? 既定値のままなら UAC によってブロックされているはずです。 イミディエイトウィンドウで確認した限りですが createobject("shell.application").shellexecute "regedit.exe" を確かめてみてください。 VBAでレジストリエディタを開く必要があるのかな? http://msdn.microsoft.com/ja-jp/library/cc364417.aspx 余計なお世話かもしれん。
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.1
Sub test() Dim i As Long i = Shell("C:\WINDOWS\regedit.exe", vbMaximizedFocus) End Sub とか。
質問者
お礼
最大化にする必要はないので i = Shell("C:\WINDOWS\regedit.exe", vbNormalFocus) で出来ました。
お礼
OSはwin7です。説明不足ですいません。 createobject("shell.application").shellexecute "regedit.exe" これでも起動できました。