トップ回答者
VBA macro File Open について

質問
-
前提:Excel2010 では以下の現象は起きません。Excel2013 にて起きる現象です。
Excel VBA Macro において
フォルダ ASDESIGNVms にある ASDESIGNVms-Start.xlsm の Book を下記 Code にて開くとき
( Workbooks.Open Filename:="ASDESIGNVms¥ASDESIGNVms-Start.xlsm", UpdateLinks:=0 )
白い画面が”パッ”と出ます。連続数個開くとその回数だけ”パッ、パッ、パッ・・・” と出ます。
これが気になるので出ないようにしたい。 Excel2010 でプログラム開発をしているときは出ませんでした。
尚、UpdateLinks:=0 を外しても現象は同じです。
回答
-
2010まではExcelのウィンドウの中に複数のワークブックのウィンドウが表示される形式(MDI)でした。
2013からは各ワークブックのウィンドウはそれぞれ独立して表示される形式(SDI)になりました。
そのためタスクバーには個別のウィンドウとして表示されます。白い画面というのは、ワークブックを開くと新しくウィンドウが作られますが、読み取りが完了するまでワークシート等が画面に描画されないために白くなっています。
重いファイルを開いてみれば長時間白いウィンドウが表示されることで確認することができます。つまり、白いウィンドウが描画されないようにしたいということになるので、ワークブックを開く前に描画を抑制してやればいいことになります。
Sub Test() Dim i As Integer Dim wb As Workbook For i = 1 To 100 Application.ScreenUpdating = False Set wb = Workbooks.Open("C:\Test.xlsm") Application.ScreenUpdating = True DoEvents wb.Close Next End Sub
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答の候補に設定 CryEarth tomoyuki sasaki 2016年9月4日 2:13
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2016年12月27日 7:29
すべての返信
-
私の環境では再現しませんでした。一度、Office 2013 のクイック修復をしてみてはいかがでしょうか?
- 「コントロールパネル」→「プログラムと機能」を開く
- 「Microsoft Office 2013」を探し、右クリックして「変更」を選択
- 「クイック修復」ボタンをクリックして、修復を行う
- 編集済み kenjinoteMVP 2016年8月8日 5:49
-
-
2010まではExcelのウィンドウの中に複数のワークブックのウィンドウが表示される形式(MDI)でした。
2013からは各ワークブックのウィンドウはそれぞれ独立して表示される形式(SDI)になりました。
そのためタスクバーには個別のウィンドウとして表示されます。白い画面というのは、ワークブックを開くと新しくウィンドウが作られますが、読み取りが完了するまでワークシート等が画面に描画されないために白くなっています。
重いファイルを開いてみれば長時間白いウィンドウが表示されることで確認することができます。つまり、白いウィンドウが描画されないようにしたいということになるので、ワークブックを開く前に描画を抑制してやればいいことになります。
Sub Test() Dim i As Integer Dim wb As Workbook For i = 1 To 100 Application.ScreenUpdating = False Set wb = Workbooks.Open("C:\Test.xlsm") Application.ScreenUpdating = True DoEvents wb.Close Next End Sub
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答の候補に設定 CryEarth tomoyuki sasaki 2016年9月4日 2:13
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2016年12月27日 7:29