• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レジストリエディタを起動させて手前に表示させたい)

VBAでレジストリエディタを起動して手前に表示させる方法

このQ&Aのポイント
  • VBAのコードを使用してレジストリエディタを起動させる方法について説明します。また、レジストリエディタを手前に表示させる方法についても解説します。
  • VBAのShell関数を使用してレジストリエディタを起動させることができます。しかし、アクティブにならない場合があります。そのため、AppActivate関数を使用して手前に表示させる必要があります。
  • ただし、一度レジストリエディタを起動し、再度コードを実行するとエラーが発生することがあります。このエラーはプロシージャの呼び出しや引数が不正であることを示しています。しかし、それでも一度開いたレジストリエディタはアクティブになります。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

そちらのOSは、Vista 以降なのではありませんか? 既定値のままなら UAC によってブロックされているはずです。 イミディエイトウィンドウで確認した限りですが createobject("shell.application").shellexecute "regedit.exe" を確かめてみてください。 VBAでレジストリエディタを開く必要があるのかな? http://msdn.microsoft.com/ja-jp/library/cc364417.aspx 余計なお世話かもしれん。

qpixyncgdnop
質問者

お礼

OSはwin7です。説明不足ですいません。 createobject("shell.application").shellexecute "regedit.exe" これでも起動できました。

その他の回答 (1)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

Sub test() Dim i As Long i = Shell("C:\WINDOWS\regedit.exe", vbMaximizedFocus) End Sub とか。

qpixyncgdnop
質問者

お礼

最大化にする必要はないので i = Shell("C:\WINDOWS\regedit.exe", vbNormalFocus) で出来ました。

関連するQ&A