次の方法で共有

保存ファイル名選択ダイアログが後ろに隠れます

Anonymous
2014-04-22T09:37:53+00:00

Windows7-Office2010の新環境で、Excelマクロ等で保存ファイル名選択ダイアログを表示すると、後ろに隠れる現象があります。

クライアントPC依存のようで再現性があり、デスクトップ表示するとダイアログが表示されますが、原因不明です。

どのようにすれば表示が正常になるか、ご存じの方はご回答いただけないでしょうか。

Excelマクロ、もしくは他社アプリケーションでコーディングされた同様の機能でも発生しています。

特定PCでは保存ファイル名選択ダイアログがExcelの後ろに隠れて表示されません。

内、デュアルPCとしてプライマリとセカンダリを替える正常に表示されるようになったPCがありました。

------>8------>8------>8------>8------>8------>8------>8------>8------

'このマクロ入りのExcelを開くと、前面にWordが起動し、さらに前面に

'Wordの保存ファイル名選択ダイアログが開きます。

Private Sub Workbook_Open()

    Dim wdObject As Variant

    Set wdObject = CreateObject("Word.Application")

    wdObject.Documents.Add

    wdObject.Visible = True

    wdObject.Dialogs(84).Show

    Call wdObject.Quit(0)

End Sub

------>8------>8------>8------>8------>8------>8------>8------>8------

どうかよろしくお願いいたします。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

7 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-05-08T07:19:25+00:00

    ウィンドウズスクリプトプログラマ様

    簡潔にご返信いただきありがとうございます。

    前者の方法で、元コードに3行追加し、解決しました。

    Word文書が表示されるようになりますが、業務用途のツールのためご了承頂きました。

    後者の方法は、メモ帳に比べるとWordはパスがバージョンや環境に依存しそうなことと、

    修正量がより多いために今回は見送りました。

      [ 修正前 ]

        Set wdObject = CreateObject("Word.Application")

        wdObject.Documents.Add

        wdObject.Dialogs(84).Show

      [ 修正後 ]

        Set wdObject = CreateObject("Word.Application")

        wdObject.Documents.Add

        wdObject.Visible = True        'Visible

        wdObject.WindowState = 2   'Minimize

        wdObject.WindowState = 1   'Maximize

        wdObject.Dialogs(84).Show

    なお下記行は元コードにはなく、検証中に追加した1行でした。

    ご指摘いただきありがとうございました。

    wdObject.Visible = True

    解決にご協力頂いた方々へ心より感謝申し上げます。

    この回答は役に立ちましたか?

    4 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2014-04-23T10:32:07+00:00

    近藤様

    ご返信いただきありがとうございます。

    状況について言葉が足りず申し訳ありません。

    私のPCや周囲では再現しませんが、お客様PC3台と他社検証環境のPC1台では

    必ず再現(後ろに隠れる)しています。

    PC1…新PC+Win7+Office2010 ⇒常に後ろに隠れる

    PC2…新PC+Win7+Office2010

        ⇒最初は同現象が発生していましたが、現在は前面表示になっています。

         ノートPCで、デスクトップPCのモニタとつなぎ、そちらをプライマリとして2画面で利用するよう

         設定した以外の変更はしていないそうです。

    PC3…旧PC+元々Win7+Office2010  ⇒常に後ろに隠れる

    PC1と2はどちらも標準アプリを同様にイメージでインストールしています。

    他社検証環境では前面PCと後面PCがそれぞれあり、クリーンブート起動したところ、

    前面PCは前面のまま、後面PCは後面のままであることが確認されました。

    手がかりが少なく恐縮ですが、問題解決につながる情報がありましたら、ご返信いただけると幸いです。

    よろしくお願いいたします。

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  3. Anonymous
    2014-05-02T00:08:20+00:00

    飯塚様

    ご返信いただきありがとうございます。

    残念ながら、他社検証環境で、ダイアログが前面/背面に表示される両端末とも、

    「マウスポインターをウィンドウ上に合わせたときにウィンドウを選択します」

    のチェックは付与されていませんでし た。

    そのため、前回近藤様に示唆して頂きました、クリーンブート起動後、

    Microsoftの起動しているサービスの差異確認と検証を試み、

    レジストリの以下値の影響と思われるとの検証結果を得ました。

    HKEY_CURRENT_USER\Control Panel\Desktopの「ForegroundLockTimeout」

     背面に表示される端末……上記値が「200000」

     前面に表示される端末……上記値が「0」

     ※10進数

    ダイアログが 背面に表示されるテスト端末の値を「0」に変更し、再起動をしたところ

    ダイアログが前面に表示されるようになっています。

    レジストリ値変更は、自己責任の範疇でMicrosoftも一切責任を負わないとのことですが、

    当該レジストリ値が原因の場合、

    Windowsの初期値や変更のタイミング、特定のサービスで変更されるか等、

    情報をお持ちの方がいらっしゃればコメント頂けますと幸いです。

    宜しくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2014-04-25T08:27:00+00:00

    2014antenna さん、こんにちは。

    返信ありがとうございます。

    コメントいただいた情報からでは特に大きな違いはなさそうですね。

    PC 1 と PC 3 は 1 画面で利用されているということでよいでしょうか?

    また、メニューをクリックしてファイル保存のダイアログ ボックスを表示した場合などは問題ないのですか?

    コミュニティ内で同様のケースがないか調べてみると、「マウスポインターをウィンドウ上に合わせたときにウィンドウを選択します」という設定がオンになっていることで、ダイアログ ボックスが後ろに隠れてしまうという投稿がありました。

    表示したダイアログボックスがすぐ後ろに隠れてしまう

    他には参考になりそうな情報などは見つかりませんでした。。

    こちらについてなにか情報をお持ちの方がいらっしゃいましたら、コメントお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2014-04-23T08:02:38+00:00

    2014antenna さん、こんにちは。

    マイクロソフト コミュニティへの投稿ありがとうございます。

    書いていただいた VBA コードで、手元の PC (Windows 7 + Office 2010) で試してみたところ、こちらの環境では保存ダイアログが毎回前面表示されて、特に問題なく実行できるようでした。

    状況がより詳しく分かると他の方からもアドバイスが集まりやすくなると思いますので、以下のような点も追加で書いてみてくださいね。

    ・PC が複数台あり、問題の起こる PC と起こらない PC があるのでしょうか

    ・その場合、問題の起こる PC では必ず再現されるでしょうか。それとも時々は前面表示されるでしょうか

    ・問題の起こる PC と起こらない PC で、環境に何か違いはあるでしょうか

    ・デュアル PC というのは、一台の PC に複数のモニターを接続しているということでしょうか

    また、常駐プログラムなどの影響が無いか切り分けるために PC を「クリーン ブート」起動した状態での動作も同様になるか確認してみてください。

    確認された結果など、ご返信をお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません