shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【kintone】印刷時だけ特定の項目を非表示にする方法|閲覧画面カスタマイズの応用編

印刷時だけ特定の項目を非表示のイメージ 以前の記事で、閲覧画面の説明ラベルを非表示にするカスタマイズを紹介しました。 「同じように、印刷時だけ不要な項目を消したい」という場面もあるので、 今回はその応用編として、印刷画面専用の非表示カスタマイズを解説します。

内容:

動作確認は、2026年4月時点のkintone(スタンダードコース)です。

以前の記事のおさらい

以前の記事では、閲覧画面に表示される入力ガイドや説明ラベルを、 JavaScriptの setFieldShown要素IDを使って非表示にする方法を紹介しました。 【kintone】閲覧画面をスッキリ整理!入力・編集用の説明ラベルを非表示にする方法 - shikumika's diary

印刷画面カスタマイズの考え方

kintoneのJavaScriptカスタマイズは、「どの画面で」「何をするか」を イベントで指定します。 閲覧画面と印刷画面では、使うイベントが異なります。

項目 閲覧画面(以前の記事) 印刷画面(今回)
イベント名 app.record.detail.show app.record.print.show
目的の例 日常業務での視認性向上 提出用書類としての体裁調整
非表示の対象例 入力ガイド・説明ラベルなど 印刷不要なラベル・スペースなど

印刷専用のイベントを使うことで、「普段の画面では表示されるが、 印刷時だけ非表示になる」制御が可能になります。

変更点はイベント名だけ

以前の記事のコードから変更するのは、イベント名の1行だけです。

// 【変更前】閲覧画面
kintone.events.on('app.record.detail.show', function(event) {

// 【変更後】印刷画面
kintone.events.on('app.record.print.show', function(event) {

要素IDの設定方法・配列への記述方法は以前の記事とまったく同じですので、以下をご確認ください。 【kintone】閲覧画面をスッキリ整理!入力・編集用の説明ラベルを非表示にする方法 - shikumika's diary

うまくいかない場合

setFieldShown だけでは、印刷時に非表示にしたはずの要素が 復活して表示されてしまうケースがあります。 これはkintoneの印刷処理が内部でレイアウトを再構築する際に、 JavaScriptの指定が上書きされている可能性があります。

その場合は、以下のCSSを追加で適用することで解決できる見込です。

@media print {
    [style*="display: none"] {
        display: none !important;
    }
}

CSSはkintoneのアプリ設定から「JavaScript / CSSでカスタマイズ」を開き、 CSSファイルとしてアップロードするか、インラインで適用します。 詳細な手順は別途記事で解説する予定です。

本格的な帳票レイアウトが必要な場合

標準印刷のカスタマイズには限界があります。 以下のような要件が出てきた場合は、kintoneのデータをExcelに連携する方法やプラグイン等の利用が 現実的な選択肢になります。

  • 複雑な表組みや書式が必要
  • 会社指定の帳票フォーマットに合わせたい
  • 印刷レイアウトを細かくコントロールしたい

kintoneのAPIを使ってExcelにデータを取り込む方法は、以下の記事で解説しています。

【Power Query】WebページからデータをExcelに読み込む事例(kintoneのAPI連携) - shikumika's diary

まとめ

  1. 印刷時の非表示には、専用イベント app.record.print.show を使う
  2. 以前の記事のコードからの変更点はイベント名の1行だけ
  3. setFieldShown だけでは消えない場合は、CSSの追加指定が必要になる
  4. 本格的な帳票レイアウトが必要な場合は、Excel連携やプラグインの利用が現実的な選択肢になる