![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルで
Sub test()
Dim path As String
Dim taskID As Double
path = "C:\Windows\System32\notepad.exe"
taskID = Shell(path)
Call AppActivate(taskID)
End Sub
を実行しても、アクティブ(前面表示)されません。
シートにコマンドボタンを設置して、
Private Sub CommandButton1_Click()
test
End Sub
としても、エクセルの後ろ側に開いてしまいます。
http://note.phyllo.net/?eid=1106208
のサイトを参考にしました。
VB6のサイトを見てるから駄目なのでしょうか?
エクセルでやりたいです。
No.1ベストアンサー
- 回答日時:
こんにちは。
最初に、こちらの話ですが、
> http://note.phyllo.net/?eid=1106208
>のサイトを参考にしました。
>VB6のサイトを見てるから駄目なのでしょうか?
はっきりと用語は思い出せないので不正確な言葉ですが、うまく行かない理由として、VB6の場合は、Formがあって、そのFormの構造と、ExcelのWindowの構造とは仕組みが違うので、AppActivateが上手くいかない、というような説明だったと思います。
それで、Notepad.exeを前面に出すという、Excelのコードではいくつかあるのですが、以下が定番というか古典的のようですね。一応、Notepad.exeは、パスが通っているものとしています。今どきは、こういうコードはあまり書かないかもしれません。
'//
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Sub NotePad_Foreground()
Dim hwnd As Long
Shell "Notepad.exe", vbNormalNoFocus
hwnd = FindWindow("Notepad", vbNullString)
SetForegroundWindow hwnd
End Sub
やはりVB6ではエクセルと仕組みが違うからできないのですね。
ご提示いただいたコードで試してみたら出来ました!
とてもわかりやすい説明ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンのプロセスの重複起動...
-
vrserver.exeとWindowsセキュリ...
-
私のPCが覗かれているか調べる方法
-
rundll32.exe oobefldrというの...
-
Monitor.exe??
-
services.exeについて。
-
自分のwindows タスクマネージ...
-
ARK: Survival Evolvedで、サー...
-
iPhoneでアダルトサイトを見て...
-
PUA:Win32/GameHackをMicrosoft...
-
まじで助けてください 凄い恥ず...
-
JS/Packed.Agent.N が検出され...
-
3DS ウイルス感染について 3ds...
-
Win32:Trojan-genとは何でしょ...
-
trojan.gen.2って何?
-
マカフィーで必要なファイルが...
-
マクロの付いたExcelが開けません
-
ノートン製品の 「アクティブ...
-
Trojan:Script/Wacatac.H!ml っ...
-
カスペルスキーでトロイの木馬...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンのプロセスの重複起動...
-
私のPCが覗かれているか調べる方法
-
勝手にC:\\WINDOWS\\system32\\...
-
vrserver.exeとWindowsセキュリ...
-
タスクマネージャに大量のプロ...
-
NTRtScan.exeを常に停止させる...
-
ARK: Survival Evolvedで、サー...
-
Monitor.exe??
-
ctfmon.exeが2つある
-
WindowsPCにインストールしたソ...
-
「.exe」は捨ててよい?
-
office2000 を再インストール
-
Dell Inspiron 3250でRealtekの...
-
rundll32.exe プロセス ウィ...
-
rundll32.exe oobefldrというの...
-
conime.exeについて質問があり...
-
svchost.exeが・・・?
-
AUTHORITY ¥ SYSTEM とは?
-
services.exeについて。
-
5分おきに警告がでます(変な...
おすすめ情報