現象:全てではなく特定のPCで、チェックリストを出力しようとすると、バックで開いているフォームがプリントされる。
毎回起きるトラブルではなく、うまく出るときもある。
最初の対策:以下のブログを参考に、レポートの作業ウィンドウを固定した。
Accessの困った問題解決策①:レポートではなく、後ろのフォームが印刷されるのを回避する方法 |
次の対策:上記でやってもやっぱりフォームが印刷されてしまった。
別のチェックリストの出力では必ずうまくいくので、うまくいくレポートと、うまくいかないレポートで、自分の書いたプログラムのコードの差分を調べたところ、
うまくいくほうは、
1.リボンを最小化するコマンドを入れていた。Application.CommandBars.ExecuteMso “MinimizeRibbon” ウィンドウサイズを変えるタイミングでレポートがアクティブになる?
2.処理の直前にメッセージダイアログを入れていた。MsgBox(” “) これで強制的にレポートがアクティブになる?
自分の環境の場合、たいていは、1でOKみたい。
これでしばらく、様子見だ。