
現在開いているエクセルファイルをアクティブにしたいです。
バージョンは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
AppActivateについて
Visual Basic(VBA)
-
5
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
6
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
7
Vba 互換モードでのAppActiveについて教えてください
Visual Basic(VBA)
-
8
SendKeysの使い方について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAでGoToの代わりに…
-
LE SSERAFIM
-
櫻坂についてです。 毎月グリー...
-
女子小学生が好きな方へ 何歳位...
-
ケツメイシのトモダチのPVに...
-
芸能人の活動
-
GLAYのメンバーの誕生日や出身...
-
『D&D』ってどうしたんでしょ...
-
西川貴教さんは絶倫と言う噂は...
-
ジェイル大橋の脱退理由 ~聖...
-
顕正会 脱退 顕正会を脱退した...
-
矢沢永吉のファンって。
-
すとぷりの新曲の「苺色夏花火...
-
ブランニューソングってなんですか
-
倉木麻衣さんが紅白に出ますが...
-
チョベリバとキムタクはなにか...
-
サクセス コスモス 百恵バッ...
-
ポルノグラフィティ
-
「脱退」の反対語は何ですか?
-
CHAGE and ASKAが好きな21歳の自分
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVBAでGoToの代わりに…
-
さっしーはマ○コ触らせていたの...
-
thunderbirdのメール設定について
-
島崎遥香、ぱるるのこの画像の...
-
AKB48のなかですごくこれはい...
-
山本彩ちゃんのグッズはどこで...
-
akb48の希望的リフレインの木崎...
-
超特急
-
今年のAKB48の総選挙 1位〜3位...
-
AKBの巨乳メンバー
-
AKBの薔薇の儀式について質問です
-
下ネタな質問です。 中高生の頃...
-
郵便局の振込み手数料土日は?
-
島崎遥香ことぱるるは何系の美...
-
AKB島崎遙香さんは なぜ「...
-
AppActivateの使い方
-
AKB48
-
「ハロー!プロジェクト2004夏...
-
この顔文字の文字の意味
-
HTML 横幅制限
おすすめ情報