Sub 教えて()
Dim ExAp As Application
Dim ExBk As Workbook
Dim ExSh As Worksheet
Set ExAp = CreateObject("Excel.Application")
Set ExBk = ExAp.Workbooks.Add
Set ExSh = ExBk.Worksheets(1)
ExAp.Visible = True
ExAp.WindowState = xlMaximized
ThisWorkbook.Worksheets(1).Activate
MsgBox "前面表示させたいお!"
Set ExAp = Nothing
Set ExBk = Nothing
Set ExSh = Nothing
End Sub
これを実行するとメッセージボックスが隠れてしまいます。
どうしたらよいでしょうか?
No.3ベストアンサー
- 回答日時:
自身のアプリケーションにフォーカスを持ってくる
という方法ですが、2種類、3通りの方法があります。
(1)自身のVisibleを切り替える
Application.Visible = False
Application.Visible = True
MsgBox "前面表示させたいお!"
(2)APIを使う方法
(A)WindowsAPIを定義する方法
Declare Function SetForegroundWindow Lib "USER32" _
(ByVal Hwnd As Long) As Long
Sub 教えて()
SetForegroundWindow Application.Hwnd
MsgBox "前面表示させたいお!"
End Sub
(B)ExecuteExcel4Macroを使う方法
ExecuteExcel4Macro "CALL(""USER32""," _
& """SetForegroundWindow"",""JJ""," _
& Application.Hwnd & ")"
MsgBox "前面表示させたいお!"
(1)は簡単ですが、タスクバーでの自身のアイコン位置が
最後尾になってしまう弱点があります。
(2)はSetForegroundWindowで自身のアプリケーションに
フォーカスを取り戻しています。
(A)は正規のAPI定義手法を使っています。
(B)は以前のAPI呼び出しです。
No.4
- 回答日時:
他には
':
AppActivate Application.Caption
>ThisWorkbook.Worksheets(1).Activate
などもありでしょうか。
メッセージボックスだけでいいのでしたら
CreateObject("WScript.Shell").Popup "前面表示させたいお!", , , vbSystemModal
http://msdn.microsoft.com/ja-jp/library/cc364428 …
もありかもしれません。
Sub 教えて()
Dim ExAp As Application
Dim ExBk As Workbook
Dim ExSh As Worksheet
Set ExAp = CreateObject("Excel.Application")
Set ExBk = ExAp.Workbooks.Add
Set ExSh = ExBk.Worksheets(1)
'ExAp.Visible = True
'ExAp.WindowState = xlMaximized
'ThisWorkbook.Worksheets(1).Activate
MsgBox "前面表示させたいお!"
ExAp.Visible = True
ExAp.WindowState = xlMaximized
Set ExAp = Nothing
Set ExBk = Nothing
Set ExSh = Nothing
End Sub
というふうにメッセージボックスをクリックしたら
エクセルが表示されるようにしたら自分のしたいことが出来ました。
No.2
- 回答日時:
はじめまして、通りすがると申します。
これなら、どうでしょうか?
Dim ExAp As Application
Dim ExBk As Workbook
Dim ExSh As Worksheet
'Set ExAp = CreateObject("Excel.Application")
'Set ExBk = ExAp.Workbooks.Add
'Set ExSh = ExBk.Worksheets(1)
'ExAp.Visible = True
'ExAp.WindowState = xlMaximized
'上記コメントの変わりに下記2行を追加
Dim varRetval As Variant
varRetval = Shell("excel.exe", vbNormalNoFocus)
ThisWorkbook.Worksheets(1).Activate
MsgBox "前面表示させたいお!"
Set ExAp = Nothing
Set ExBk = Nothing
Set ExSh = Nothing
No.1
- 回答日時:
下記の「MsgBoxSetForeground」を指定してみたらいかがでしょうか。
http://msdn.microsoft.com/ja-jp/library/139z2azd …
MsgBox "前面表示させたいお!", vbMsgBoxSetForeground
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
-
4
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
5
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
6
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
IEブラウザよりmsgboxを手前に表示したい
PowerPoint(パワーポイント)
-
9
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
10
VBSで起動したアプリが前面表示しない
Visual Basic(VBA)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
13
VBAで任意のウインドウのサイズを変更する方法
Visual Basic(VBA)
-
14
エクセルでエラーが出て困っています。
Excel(エクセル)
-
15
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
16
マクロを実行中に、msgbox を表示させたまま、ワークシートを上下左右に移動表示させたい。
Excel(エクセル)
-
17
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
18
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
19
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
20
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスを前面に表...
-
C#でButtonのフォーカス枠を消...
-
iPhoneのクイックアクションを...
-
SPREAD(GrapeCity)のセルにフォ...
-
ASP.NETにてロストフォーカス処理
-
Excelのマクロで実行時エラー”1...
-
Macのウィンドウが透ける
-
フォトショのアクションを別のM...
-
レーザのスポット径の計算式
-
VC++でマウスホイールイベント...
-
DAMのデンモクの使い方
-
DataGridViewで入力チェック後...
-
同一列で連続した「出」を2コマ...
-
Chrome フォーカス時に枠が表示...
-
タスクバーに文字列を表示した...
-
初期状態でのフォーカスの解除
-
FLASHでCPUへの負荷を軽く...
-
iPhoneでインターネットをサフ...
-
iMovieでのken burnsエフェクト...
-
初期フォーカスについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
TDSマジックランプシアター 箱...
-
Excelのマクロで実行時エラー”1...
-
SPREAD(GrapeCity)のセルにフォ...
-
Chrome フォーカス時に枠が表示...
-
C#でButtonのフォーカス枠を消...
-
iPhoneのクイックアクションを...
-
コンボボックスの開いたリスト...
-
コンボボックスの三角を一時的...
-
レーザのスポット径の計算式
-
DataGridViewで入力チェック後...
-
除光液の正しい捨て方がわかり...
-
DAMのデンモクの使い方
-
、ウイルスバスターからの表示...
-
tabキーによるフォーカスをさせ...
-
PowershellでCLIとISEの結果が違う
-
iPhoneのロック画面に出てくる...
-
ASP.NETにてロストフォーカス処理
-
雷のようなアニメーションをウ...
-
JavaScript でpk戦のゲームを作...
おすすめ情報