locked
Windows Server 2008でExcelが最前面に表示されません RRS feed

  • 質問

  • プログラムがExcelを起動させ、Excel画面を表示させるという流れです。Windows Server 2003までExcelが最前面に表示されましたが、Windows Server 2008(R2を含む)でExcelが最前面に表示されない現象が起きましたが、どうすればよいのでしょうか。

    サンプルコード

    Private Excel           As Object       '!Excel

    Private Sub Form_Load()
        Set Excel = CreateObject("Excel.Application")
        With Excel
            .Workbooks.Open "D:\scal.xls"    'Excelファイル
            .ActiveWorkbook.Saved = True
            .Application.ScreenUpdating = True
            .Visible = True
        End With
    End Sub

    2010年6月4日 5:59

回答

  • こんにちは。

    元々、Windowsを作れば最前面に表示される事が保障されているわけではありません。(Windows 2008に限りません。以前のWindowsでもそうです)

    SetForegroundWindow()で明示的にWindowをForeGroundに持ってくる方法が確実です。

    あるいは、以下の技術情報も参考にしてください。

    http://support.microsoft.com/kb/886217/ja

    • 回答の候補に設定 三沢健二 2010年6月11日 4:31
    • 回答としてマーク B-EN-G 2010年6月14日 4:31
    2010年6月11日 3:20

すべての返信

  • こんにちは。

    元々、Windowsを作れば最前面に表示される事が保障されているわけではありません。(Windows 2008に限りません。以前のWindowsでもそうです)

    SetForegroundWindow()で明示的にWindowをForeGroundに持ってくる方法が確実です。

    あるいは、以下の技術情報も参考にしてください。

    http://support.microsoft.com/kb/886217/ja

    • 回答の候補に設定 三沢健二 2010年6月11日 4:31
    • 回答としてマーク B-EN-G 2010年6月14日 4:31
    2010年6月11日 3:20
  • 中年やっちゅうねん 様
    こんにちは。
    ご回答ありがとうございます。
    SetForegroundWindow()の方法とレジストリ変更の方法を試しました、2つ方法とも、うまく問題を解決出来ました。
    本当にありがとうございました。
    三沢様にも感謝致します。
    今後ともよろしくお願いいたします。
    2010年6月14日 4:32