Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2541 / 13646 ツリー ←次へ | 前へ→

【67375】Excel2010でのExcelのActivate(前面表示) taka 10/11/29(月) 11:25 質問[未読]
【67383】Re:Excel2010でのExcelのActivate(前面表... momo 10/11/29(月) 19:24 発言[未読]
【67389】Re:Excel2010でのExcelのActivate(前面表... taka 10/11/30(火) 13:20 質問[未読]
【67390】Re:Excel2010でのExcelのActivate(前面表... momo 10/11/30(火) 13:40 発言[未読]
【67392】Re:Excel2010でのExcelのActivate(前面表... Jaka 10/11/30(火) 14:15 発言[未読]
【67395】Re:Excel2010でのExcelのActivate(前面表... UO3 10/11/30(火) 21:09 発言[未読]

【67375】Excel2010でのExcelのActivate(前面表示...
質問  taka  - 10/11/29(月) 11:25 -

引用なし
パスワード
   Excel2010でのExcelのActivate(前面表示)で質問させて下さい。

経緯は、今までExcel2003で使用していたExcelマクロを
何も変更せずにExcel2010で使用できるかという評価を
実施していた際に本事象に遭遇しました。

ExcelVBAの処理内で"Book名"のExcelを開き、更に
 Application.Workbooks("Book名").Activate
というコマンドを用いて、開いたBookを
Activate(前面表示)していました。

Excel2003では通常に動作していたのですが
そのままExcel2010の上で動作確認をした場合に
前面に現れることなく、裏(他のアプリケーションが前面)で
処理が実施されてしまいます。

Excel2003と2010では拡張子も違いますが、開いているファイルは
全て「.xls」を使用していて
他の処理も含めて全て[互換モード]で動作しています。
そして、このActivate処理以外は以前のExcel2003、2010共に
変化なく動いているようです。

[互換モード]ではActivateは正常に動作しない
などの事象があるのでしょうか?

解決策として、ExcelVBAを2010で再作成(.xlsm)すれば
正常に動作するのでしょうか?

以上
よろしくお願い致します。

【67383】Re:Excel2010でのExcelのActivate(前面...
発言  momo  - 10/11/29(月) 19:24 -

引用なし
パスワード
   ▼taka さん:
>Application.Workbooks("Book名").Activate

Application.Workbooks("Book名.xls").Activate
               ~~~~~

にするとどうなりますか?

【67389】Re:Excel2010でのExcelのActivate(前面...
質問  taka  - 10/11/30(火) 13:20 -

引用なし
パスワード
   ▼momo さん:

ご回答ありがとうございます。

>Application.Workbooks("Book名.xls").Activate

拡張子を付けましたが、前面に来ませんでした

実際開くときにタイトルバーには
「Book名.xls [互換モード]」
と表示されていますので

Application.Workbooks("Book名.xls [互換モード]").Activate

にしてみましたが、これも前面にはなりませんでした。
(意味ないとは思いましたが。。。)

どうも、互換モードのファイルではなくて
xlsm形式にすれば動きそうですが、出来れば互換モードのままに
したいのです。

以上
よろしくお願い致します。

>▼taka さん:
>>Application.Workbooks("Book名").Activate
>
>Application.Workbooks("Book名.xls").Activate
>               ~~~~~
>
>にするとどうなりますか?

【67390】Re:Excel2010でのExcelのActivate(前面...
発言  momo  - 10/11/30(火) 13:40 -

引用なし
パスワード
   ▼taka さん:
そうですか・・・
2007では拡張子を付けるだけで
互換モードでもOKでした。

たとえばActivateの後に
DoEvents を追加してみるとかはどうでしょうか?

【67392】Re:Excel2010でのExcelのActivate(前面...
発言  Jaka  - 10/11/30(火) 14:15 -

引用なし
パスワード
   ファイル名に拡張子が表示されていますか?

フォルダ
ツール → フォルダオプション → 表示
「登録されているファイルの拡張子を表示しない」に
チェックが付いているかいないで、変わるという事です。
2007、2010は、どこで設定するのかわかりません。

実際に両PCで表示されているファイル名を拡張子突きで記載しておいた方がいいと思います。

【67395】Re:Excel2010でのExcelのActivate(前面...
発言  UO3  - 10/11/30(火) 21:09 -

引用なし
パスワード
   ▼taka さん:

こんばんは。
横入りごめんなさい。

>Excel2003では通常に動作していたのですが
>そのままExcel2010の上で動作確認をした場合に
>前面に現れることなく、裏(他のアプリケーションが前面)で
>処理が実施されてしまいます。

【他のアプリケーション】という表現が気になっています。
他のアプリケーションって、具体的には?
で、エクセルの実行中に、当該ブックを開く前になぜ【他のアプリケーション】が
前面にでているのでしょうか?
(というか、どのように?)

通常は、ブックを開くと、Activateをしなくても、そのブックが【そのエクセル内】で
最前面にでますが?

あるいは、マクロ処理として
・まずエクセルブックを開き
・別アプリを起動(この時点で開いたブックは裏に隠れる)
・そのあと開いたブックをActivate ?

これだと2003でも【デスクトップ上では】最前面にはでませんよね。
(はずしていたらスルーしてください)

実際に処理しておられるコードをアップされてはいかがでしょうか?

2541 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free