
いつもお世話になります
今、他のソフトを使いながら処理するプログラムをVBAで作成しています
AppActivate(MyBook & " - Excel") を使ってExcelをアクティブしていますが
互換モードの時はエラーになってしまいます
互換モードで開いているかの判定は分かるのですが
AppActivate(MyBook & " - Excel") の処理が分かりません
分かりましたら教えてください
尚:MyBook = ActiveWorkbook.Nameで事前に実行しています
以上、よろしくお願い申し上げます
No.2ベストアンサー
- 回答日時:
#1です
ダメなのかな・・・
互換と言う(環境がわからない)事から避けたのだけれど
他の方法としてはWindowsAPIのSetForegroundWindowでどうでしょう
キャプションが判っているので探して、実行します
(私的には判り易いAPIなので使い勝手は良いかも・・でもAPIなので一定の理解が必要です)
例
Declare Sub SetForegroundWindow Lib "user32" (ByVal hWnd As Long)
Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub hWnd_Activate()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, MyBook & " - Excel")
SetForegroundWindow hWnd '最前面表示
End Sub
おはようございます
早速のご回答、本当にありがとうございます
NO.2の回答で上手く行きそうです
本当に助かりました、心から感謝します
これからもよろしくお願い申し上げます
No.1
- 回答日時:
こんばんは
>互換モードで開いているかの判定は分かるのですが
判定で2010まで(MDI) なら
Windows(MyBook & " - Excel").Activate
2013以降(SDI)ならAppActivate(MyBook & " - Excel")でどうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
AppActivateの使い方
PowerPoint(パワーポイント)
-
-
4
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
5
AppActivateについて
Visual Basic(VBA)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
-
8
VBA ユーザーフォーム ボタンクリック後にセルにフォーカス
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
vbaのエラー対応(実行時エラー...
-
private subモジュールを他のモ...
-
Word VBA。各マクロの間に待ち...
-
特定のファイルを他のプロセス...
-
マクロで、次のコードへ行く前...
-
複数個のTextBoxでいずれかの内...
-
VBA For Each 〜 複数条件について
-
どうやってもFor文を抜けてしま...
-
VBAでBook読み込み時の非表示方...
-
順番に処理させたい
-
途中で処理を中断させたい (ア...
-
IF文に時間(何時から何時ま...
-
ExcelのVBAで、選択したファイ...
-
For ~ Next文
-
“try/catch”と“if/else”
-
クエリならできるのにVBAだとエ...
-
【VBA】エラー処理で別プロシー...
-
VBAの進捗状況をリアルタイ...
-
特定の名前のオートシェイプの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
どう増強すべきか
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
特定の名前のオートシェイプの...
-
Excel VBA セルの名前があるか...
-
マクロで、次のコードへ行く前...
-
ExcelのVBAで、選択したファイ...
-
特定のファイルを他のプロセス...
-
VB6にてネットワーク上にある共...
-
どうやってもFor文を抜けてしま...
-
Word VBA。各マクロの間に待ち...
-
エクセル VBAで複数セル選択時...
-
【VBA】エラー処理で別プロシー...
-
フォルダのアクセス権確認について
-
VBA For Each 〜 複数条件について
-
StatusStripの表示が更新されな...
-
【C#】Page_Loadさせない方法に...
おすすめ情報