tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルWindows7上でExcelを起動したときの表示
記事No15326
投稿日: 2011/09/05(Mon) 16:48
投稿者フート
VB6.0にて開発をしております。

レポート作成ボタンを押すとExcelが起動し、
レポートを自動的に書かせるプログラムがあるのですが、
これまでのOS(Windows98,XP,Vista)では、
最前面にExcelが表示されておりました。
(Excel2003,2007,2010でそれぞれ動作確認しています)

しかし、Windows7のPCにてレポート作成ボタンを押した場合、
Excelがプログラムの背面に表示されてしまいます。
(Excel2003,2007,2010でも同じ現象)

旧OSと同じように、レポート作成ボタンを押して
Excelが最前面に表示されるようにしたいのですが、
どのような処理をすればいいのか分かりません。

様々なサイトを拝見させていただきましたが、
こういった現象が見られなかったので
ご存知の方いましたらご教授願います。

[ツリー表示へ]
タイトルRe: Windows7上でExcelを起動したときの表示
記事No15327
投稿日: 2011/09/05(Mon) 22:37
投稿者魔界の仮面弁士
> 旧OSと同じように、レポート作成ボタンを押して
> Excelが最前面に表示されるようにしたいのですが、

Excel.Application オブジェクトの Caption プロパティを
AppActivate メソッドに渡してみるか、
http://dobon.net/vb/dotnet/form/activate.html

それで駄目なら Excel.Application オブジェクトの Hwnd プロパティを得て、
BringWindowToTop API を呼び出してみるとか、あるいは
http://homepage1.nifty.com/MADIA/vb/API/BringWindowToTop.htm
AttachThreadInput API と SetForegroundWindow API を呼び出すとか。
http://www.vb-user.net/junk/Sample/30/SetForegroundWindow.txt

# 試していません。

[ツリー表示へ]
タイトルRe^2: Windows7上でExcelを起動したときの表示
記事No15328
投稿日: 2011/09/08(Thu) 13:36
投稿者フート
AppActivateを追加したところ、Win7上でも以前と同じように
Excelを手前に表示させることができました。

魔界の仮面弁士さん、本当にありがとうございました。

[ツリー表示へ]