none
Excel2016 Visible=Falseの状態でワークブックCloseすると空ウィンドウが残る RRS feed

  • 質問

  • Excel2016のマクロ付きファイルAのWorkbooks_Open内で下記のことを行っています。

    1.Excelを非表示にする(Application.Visible=False)

    2.ExcelファイルBを開き、内容をファイルAにコピーする

    3.ExcelファイルBを閉じる(Workbook.Close)

    4.Excelを表示する(Application.Visible=True)

    すると、ファイルAのウィンドウと空のウィンドウが表示された状態になっています。

    空のウィンドウを×ボタンで閉じようとすると「ファイルAを保存しますか?」と表示され、

    ファイルAを閉じる挙動をします。

    この空ウィンドウが残る現象を回避できないでしょうか?

    2017年7月7日 2:12

すべての返信

  • 実装内容が分からないので推測ですが、

    「2.ExcelファイルBを開き、内容をファイルAにコピーする」において、別プロセスでファイルBを開いていて、
    「3.ExcelファイルBを閉じる(Workbook.Close)」がWorkbookだけをクローズしているから?

    上記イメージであれば辻褄が合いますがいかがでしょう。
    ※同じプロセス内で開いてあげるだけ?

    見当違いでしたらすみません

    2017年7月11日 7:06
  • ご回答ありがとうございます。しかし残念ながら、ファイルBを別プロセスとしては開いていません。 ちなみに以前はoffice2010を使用しており、その時はこの現象は起きていませんでした。最近office365にアップグレードし、その後からこの現象が発生しておりめす。
    2017年7月12日 1:20
  • Application.Visible = False
    Application.Visible = True
    を使った場合、

    私の環境でも指摘の挙動が
    Office2007では起きず、Office2016では起きることを確認しました。
    Officeに依存するのか、OSに依存するのかわかりませんが、

    私だったら、

    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    を使います。

    2017年8月5日 10:07