Q&A

回答の並べ替え:
投稿新規に質問を投稿する

印刷実行未実行の判別について

HRSW HRSW

2023-10-23 14:56

質問失礼いたします。

印刷実行した場合のみ、DBを更新するようにしたいのですが
プレビュー表示のみした場合と、印刷実行した場合を判別する方法はありますか?

処理手順としては以下のイメージです
印刷プレビュー表示→実行せず閉じる:更新しない
印刷ダイアログ表示→実行せず閉じる:更新しない
印刷実行後:更新する

HRSW HRSW
SCM様 Yexiongmao様
ご回答ありがとうございます。

印刷したかどうかの結果を取得する方法はないんですね。覚えておきます。
SCM様のご回答を参考に開発を進めたいと思います。
Yexiongmao Yexiongmao
SCM様

印刷プレビューの非表示は思いつきませんでした。
即強制的に印刷出力するので、印刷漏れの心配はありませんね。
勉強になりました。
Yexiongmao Yexiongmao
こんにちは。

印刷プレビュー表示すると、印刷を実行してもしなくても、特に返り値もなく印刷アクションは終了してしまいます。
印刷終了後に紙を出力したか問い合わせをポップアップして、ユーザーに選択させるか、ロールバックして再印刷を可能にするか、いずれにしてもユーザーに判断していただくより無いと思います。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
メダルベストアンサー
こんにちは。

「シートを印刷する」アクションで、「印刷プレビューを表示する」オプションをチェックした場合ですが、印刷を実行したかどうかの結果を取得する機能は無いようです。

そのため、ご記載の機能を完全に実装することはできないと思いますが、
疑似的な方法として以下のようなアクションが考えられます。

①印刷プレビュー代わりに、印刷したいページを別シートとして切り分け、
「アプリのシートを新規ウインドウで表示する」アクションで表示します。
「アクティブウィンドウ以外は操作させない」のオプションは外しておきます。
(後続のアクションが、別シートを閉じるまで、止まってしまうため)
別シートのアクションを起動します。

※以下、②③は別シートのアクションです。

②印刷するかどうか、ポップアップで表示します。

③「OK」を選択の場合、「シートを印刷する」アクションを実行します。
ただし、「印刷プレビューを表示する」オプションはチェックを入れずに、必ず印刷が実行されるようにします。
また、テーブルのデータを更新のアクションも実行するようにします。

ご参考になりましたら幸いでございます。
どうぞよろしくお願いいたします。
メールコンタクトをとる