
現在開いているエクセルファイルをアクティブにしたいです。
バージョンは2003です。
アクセスVBAから
Sub test()
Dim rc As Long
rc = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE", 1)
AppActivate "aaa.xls"
End Sub
を実行すると、
新規にアプリケーションが開いて、空のBOOK1が表示されます。
本当は、aaa.xlsをアクティブにしたいのですがうまく出来ません。
aaa.xlsは既に開いている状態です。
aaa.xlsはデスクトップにあります。
http://officetanaka.net/excel/vba/statement/AppA …
を見ながらやってみたのですがうまく出来ません。
新たなアプリケーションは立ち上げたくないけど
aaa.xlsはアクティブにしたいです。
No.3ベストアンサー
- 回答日時:
Win7 + Office2010 では下記のような感じで動きました。
aaa.xls を開いてなければ開き、
開いていたら、そのExcelアプリを最前面にして、
aaa.xls をアクティブにしてます。
こちらでは、aaa.xlsを単独で開いていた場合に、
AppActivateでは、プロシージャの呼び出し、または引数が不正です
になってしまいます。
環境に依存する部分が有りそうなので下記でも不十分かもしれません。
Sub てすと()
Dim myXL As Object
Dim myXLPath As String
Dim myXLName As String
Dim WSH As Object
Set WSH = CreateObject("WScript.Shell")
myXLPath = WSH.specialfolders("desktop")
myXLName = "aaa.xls"
If Dir(myXLPath & "\" & myXLName) = "" Then
MsgBox myXLPath & "\" & myXLName & " は見つかりません"
Set WSH = Nothing
Exit Sub
End If
Set myXL = GetObject(myXLPath & "\" & myXLName).Parent
myXL.Visible = True
If myXL.activeworkbook.Name = myXLName Then
myXL.workbooks(myXLName).Activate
Else
myXL.workbooks.Open (myXLPath & "\" & myXLName)
End If
myXL.UserControl = True
Set myXL = Nothing: Set WSH = Nothing
End Sub
No.2
- 回答日時:
すでに、aaa.xlsが開いているなら、質問のコードで、新しいExcelも開くが、aaa.xlsにフォーカスが移って、アクティブになっているはずです。
ただし、フォーカスは移るが、最前面には表示されない。aaa.xlsが開いていないなら、次のコードでaaa.xlsが開いてアクティブになり前面に表示されるでしょう。
rc = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE C:\Users\(ユーザー名)\Desktop\aaa.xls", 1)
質問からすれば、
すでに、aaa.xlsが開いているのをアクティブにして前面に表示したいだけのようだから、ShellもAppActivateもいらないで、単に、
Windows("bbb.xls").Activate
でしょう。
No.1
- 回答日時:
>新規にアプリケーションが開いて、空のBOOK1が表示されます。
>本当は、aaa.xlsをアクティブにしたいのですがうまく出来ません。
>aaa.xlsは既に開いている状態です。
それでしたら、
Dim rc As Long
rc = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE", 1)
は不要で、
Sub test()
AppActivate "aaa.xls"
End Sub
だけでよいはずですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
AppActivate関数について
Visual Basic(VBA)
-
VBSで起動したアプリが前面表示しない
Visual Basic(VBA)
-
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
-
4
Vba 互換モードでのAppActiveについて教えてください
Visual Basic(VBA)
-
5
AppActivateについて
Visual Basic(VBA)
-
6
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
7
VBAでの SendKeysの変数指定方法
Excel(エクセル)
-
8
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
9
エラーになってないのにVBAが中断される
Excel(エクセル)
-
10
SendKeysの使い方について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAでGoToの代わりに…
-
akbチャリティーオークション
-
AKB48について語りません...
-
thunderbirdのメール設定について
-
顕正会 脱退 顕正会を脱退した...
-
芸能人の活動
-
ザローリングストーンズのキー...
-
キムタク、顔は男前なんですけ...
-
「別れのジンクス」があるデー...
-
サザンのメンバーが消えた!?
-
櫻坂についてです。 毎月グリー...
-
矢沢永吉のファンって。
-
BUMP Smileに隠しトラックはあ...
-
GLAYの衣装&私服のブランドに...
-
坂本龍一が
-
キムタク好きですか?嫌いですか?
-
SMAP木村拓哉と稲垣吾郎の仲
-
頭脳警察のメンバーとPANTA&HAL...
-
西川貴教さんは絶倫と言う噂は...
-
前川清とクールファイブ。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVBAでGoToの代わりに…
-
AKB48のほっともっとのロースカ...
-
KAT-TUNのリーダーって誰ですか?
-
5月29日のNHK「うたコン」AKBの...
-
akb
-
AKB48の公式サイトのteam...
-
この顔文字の文字の意味
-
KAT-TUNのメンバーですが
-
AppActivateの使い方
-
akbで誰が好きですか?
-
大島麻衣さんとAKBの関係
-
DHCPサーバの設定について
-
エクセル 表の並び替え
-
AKBリクアワ2012のDV...
-
HTML 横幅制限
-
AKB48の大きい画像がある...
-
akbで抜いたことありますか? ...
-
上方落語家の、『大喜利』見た...
-
この間のMステで・・・
-
いろいろ調べたのですが、何処...
おすすめ情報