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

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

レジストリエディタを起動させて手前に表示させたい

VBE画面から Sub test() Dim i As Long i = Shell("C:\WINDOWS\regedit.exe") End Sub を実行するとレジストリエディタを起動できるのですがアクティブ(前画面)になりません。 Sub test() Dim i As Long i = Shell("C:\WINDOWS\regedit.exe") AppActivate i End Sub これにしたも同じく全画面になりません。 ただ、一度起動した後に再度このコードを実行すると、 プロシージャの呼び出し、または引数が不正です。(Error 5) と言うエラーになりますが、1回目に開いたレジストリエディタがアクティブになります。 vbaコードで起動だけではなく、手前に表示させるにはどうすればいいですか?

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

  • ベストアンサー
  • 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

  • VBAでフリーソフトを起動する事は可能でしょうか?

    Sub Sample1() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub でメモ帳は開けるのですが、 QR Code Editorというソフトを入れていて、 それをVBAで開きたいのですがどうすればいいでしょうか? QR Code Editorは、 "C:\Program Files (x86)\Psytec\QR Code Editor\PsQREdit.exe" に入っています。 Sub Sample1() Dim rc As Long rc = Shell("PsQREdit.exe", vbNormalFocus) End Sub にすると、ファイルが見つかりません。 (Error 53)になってしまいます。 ご教授よろしくお願いします。

  • ダブルコーテーションで3度も囲ってるのですが

    vbsで電卓を起動する時 Set objWshShell = WScript.CreateObject("WScript.Shell") objWshShell.Run """CALC.EXE""" のように、CALC.EXEをダブルコーテーションで3度も囲ってるのですがなんででしょうか? VBAの場合は Sub test() Dim i As Long i = Shell("CALC.EXE") End Sub のように3重には囲わなくても起動します。

  • レジストリエディタとは?

    パソコン初心者です。みなさん教えてください。 ウイルスに感染してしまいました。 感染した場合の対処方法に、 「ウインドウズのレジストリエディタを(regedit,exe)などを使用してレジストリ値とレジストリキーを削除する」 とあります。 初めて聞いた言葉で意味がわかりません。 もっと詳しく説明できる方がいたら教えてください。 よろしくお願いします。 ウインドウズMEを使っています。

  • レジストリエディタがおかしい

    レジストリエディタを開こうと思いファイル名を実行して起動から起動させようとしたのですなぜかメモ帳が開くのです(なんどやっても)なので自分でC:\WINDOWS\までいってregedit.exeをクリックしたんですがそれでもメモ帳しか開きませんでした ウィルスの影響とどこかで見たような気がするんで ウィルス対策のところに質問させていただきました 使用OSはWinXPです どうか解決方法を教えてください

  • レジストリエディタが起動できない

    レジストリエディタをファイル名実行でregeditと入力すると ACLUIdllが見つからないため起動できませんと出てきます。 どうすれば直るでしょうか? よろしくお願いします。

  • レジストリエディタの起動について

    レジストリエディタを起動し設定を変更したいのですが、 ファイル名を指定し実行でregeditと入力して実行しても レジストリ編集は管理者によって使用不可にされてますと 表示されエディタが起動できません。どうすれば起動 できますか。どなたか教えてください。

  • レジストリエディタについて

    今日、ファイル名を指定して実行からregeditと入力 してレジストリエディタを起動しようとしたら コマンドプロンプトっぽいのが2秒弱でて消えて 数分たってもレジストリエディタが起動しません。 なぜなんでしょうか。それと対処方法を教えてください。

  • 新規にメモ帳を起動して、「test」と入力したい

    新規にメモ帳を起動して、「test」と入力したいです。そして保存はしたくないです。 Sub Sample() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) End Sub これだと、新規にメモ帳は起動できますが、書き込みができません。 Sub Sample2() Dim strList As String Dim adoSt As ADODB.Stream Set adoSt = CreateObject("ADODB.Stream") With adoSt .Type = adTypeText .Charset = "UTF-8" .Open End With adoSt.WriteText "test", adWriteLine adoSt.SaveToFile "c:\test.txt", adSaveCreateOverWrite adoSt.Close Set adoSt = Nothing End Sub これだとメモ帳を作成して書き込めますが、保存されてしまいます。 新規にメモ帳を起動→文字を書き込む までをvbaで行い、その後は×ボタンで消せる状態にしたいのですが、 どうすればいいか教えてください。

  • レジストリエディタが起動しません

    初めての質問です。5年ほど使っているPCの調子が悪くなってきたので、カスタマイズしようと雑誌など見ながらレジストリエディタを「ファイル名を指定して実行」で起動しようとしても【16ビットMS-DOSサブシステム・・・C:\WINDOWS\system32\regedit.comNTVDM CPUは不正命令を検出しました。CS:2652 IP~アプリケーションを終了するには、「閉じる」を選んでください。】とでて起動することが出来ません。これはいったいどういう意味なのでしょうか?ウィルスにでも侵されているのでしょうか?ウィルス検査(ウィルスセキュリティーZERO)は一応したのですが・・・レジストリをいじることは危険とよく聞いているので、意を決していろいろとPCのカスタマイズしようとしていたらスタートからつまずいちゃいました。何が原因か分からない状態です。よろしくお願いいたします。 OS:Me⇒Xpのアップグレード版SP2  CPU:866MHz pen3 RAM:256MHz

  • レジストリエディタが起動しなくなった

    ファイル名を指定して実行に「regedit」と打ってレジストリエディタを起動しようとするとメモ帳が開いてしまいます。 ウイルスに感染した症例としてこんな症状はありますでしょうか? もしウイルスの仕業なら解除方法を教えてください。お願いします。

専門家に質問してみよう