最近自分で確認したマクロ実行中の不具合?なのかうまくいかなかった事象と、どうやって回避したかについて書いていきます。
不具合事象:マクロ実行中に「保存中」ダイアログがずっと消えない
「保存中」ダイアログとは↓のメッセージ。
ファイルの保存を実行したときに通常は一瞬だけ出たりしますが、これがずっと消えなくなってしまう事象が発生しました。
別のブックに値を反映して、ページ設定で印刷範囲を調整したあとにPDFを出力してPDFとExcelを保存するマクロを作成していました。
マクロで実行していた内容
・別のブック【A】へ書き込み
・ブック【A】のページ設定を変更
・ブック【A】からPDFを出力
⇒PDF「出力中」のダイアログが出たあとに、「保存中」のダイアログが消えなくなる
⇒「キャンセル」ボタンを押して「保存中」ダイアログを閉じる
・ブック【A】を保存して閉じる
⇒「保存中」のダイアログが消えなくなる
⇒「キャンセル」ボタンを押すと「保存中」ダイアログが閉じる
上記のように2回「キャンセル」を押さないと完了しないのですが、「キャンセル」したのに保存はきちんとできている状態で終わります。
で、ポイントはローカル端末上で実行した場合はこの事象は起こらず、ネットワーク上で実行した場合だけ発生しました。
解決策を調べる
ネット上で調べると同じことで困っている方が複数いらっしゃいました。
そこに書いてあったアドバイスは↓のようなもの。
・保存先のパスを短くする
・ファイル名に禁則文字が含まれている
どちらも見直してみましたが私の場合は効果はありませんでした。
なんとかたどり着いた解決策
結局ネット上で探した解決策では解決しなかったのですが、試行錯誤した結果、マクロで処理する流れを少し変えてみたところ解決しました。
↓元々のマクロの処理の流れ
【元】マクロで実行していた内容
・別のブック【A】へ書き込み
・ブック【A】のページ設定を変更
・ブック【A】からPDFを出力 ⇒「保存中」ダイアログが消えない
・ブック【A】を保存して閉じる ⇒「保存中」ダイアログが消えない
↓変更後のマクロの処理の流れ
【変更後】マクロで実行した内容
・別のブック【A】へ書き込み
・ブック【A】のページ設定を変更
・ブック【A】を保存して閉じる
・ブック【A】を再度開く
・ブック【A】からPDFを出力
・ブック【A】を閉じる(保存しない)
変えてみたところはPDF出力をする前に一度ブックを保存して閉じる処理を入れてみたところです。
それでもう一度ブックを開きなおしてからPDF出力すると「保存中」ダイアログは一瞬表れてちゃんと消えてくれました。
原因はよくわかりませんが、なんとか解決。
同じことでお困りの方がいれば参考にしてみてください。
※コードのコピー利用について
・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。