Excelを用いて伝票を印刷するには

概要

コンテキサーには印刷機能がありませんが、Excelと連携することで帳票を印刷できます。

帳票を印刷するためには、事前に次のような2つのワークシートがあるExcelワークブックを作成します。

  • コンテキサーからのエクスポート用シート
  • 帳票用シート

「コンテキサーからのエクスポート用シート」は、コンテキサーでExcelエクスポートを利用して、印刷するパネルの行をExcelワークシートへ出力できます。

Excelワークブックと帳票印刷用ワークシートの作成

まず、コンテキサーの「Excelエクスポート」によって、コンテキサーで選択したシートのすべてのパネルのデータを、Excelへ出力します。

初回Excelエクスポート時には、選択したコンテキサー上のシートにある各パネルが、Excelのワークシートとして作成され、各パネルのデータが出力されます。作成されたワークブックは、通常コンテキサーデータフォルダのExcelフォルダに保存されています。

次回エクスポート時は、作成済みのワークブックを使用して、それぞれのワークシートでパネルのデータを更新します。

このままでは印刷に不向きであるため、作成されたワークブックに、帳票印刷用ワークシートを作成して追加しておきます。

帳票印刷用ワークシートを作成する際に、各欄のセルの値は、Excelエクスポートでエクスポートされるワークシートのセルとリンク接続しておきます。リンク接続することで、Excelエクスポート時に帳票に必要な値が入力された状態となります。

例えば、次のようなレイアウトの受注票を作成して、各欄のセルに、リンクを設定しておきます。
セルの式を「='ワークシート名'!セル位置」の書式で指定することでリンクできます。

印刷コマンドボタンの作成

業務アプリ上でボタンで簡単に印刷画面を表示するための[受注票印刷]ボタンを作ります。

コンテキサー側で、Excelエクスポート(「Excel連携」アクション)を実行するコマンドを定義して、そのコマンドをボタンとしてシートに表示させます。ボタンをクリックした際に「Excel連携」アクションで、該当するシートがExcelへエクスポートされます。ワークシートにマクロを定義した場合は、この時にマクロが実行されます。

「コマンド」画面にて[新規]ボタンをクリックして、コマンド名を「受注票印刷」などとします。

「アクション内容」画面にて「対象シート」をExcelエクスポートするシート(ここでは「受注登録」シート)を選択します。

[登録]ボタンをクリックすると、シートに[受注票印刷]ボタンが表示されます。

コマンドボタンの作成方法は、転送先のExcelファイル名を指定するにはもあわせてご覧下さい。

【応用】印刷プレビューを表示するには (印刷処理マクロの作成)

VBAマクロを作成することで、コンテキサー上でExcelエクスポートされた直後に、Excelの印刷プレビュー画面を表示できます。

マクロを作成する方法は「Excelのマクロをコンテキサーから実行するには」をご覧下さい。

印刷プレビュー画面を表示するには、次のようなShowDataプロシージャのマクロを作成します。
Excelの「開発」タブでマクロを作成するか、VBAの標準モジュールの中にプロシージャを宣言してください。

次のプログラムでは、帳票として印刷する「印刷」というワークシートに切り替えて、その印刷プレビューを表示します。

Public Sub ShowData()
 
    '--------------------------------------------------
    '印刷プレビューを表示する
    '--------------------------------------------------
    Sheets("印刷").Select
    ActiveWindow.SelectedSheets.PrintPreview
   
End Sub

なお、エクスポート直後に、ワークシートなどに対して特別なデータ入力や計算処理などを含むマクロを入れたい場合には、MakeDataプロシージャを宣言します。このプロシージャに必要なプログラムを指定することで、印刷結果に反映できます。

'----------------------------------------------------------------------------------------------------
'データ取込後処理 '----------------------------------------------------------------------------------------------------
Public Sub MakeData()
'--------------------------------------------------
' ここにデータのコピー処理や計算処理を記述します。 '--------------------------------------------------
' ここに印刷帳票内のデータ編集、印刷設定を記述します。 End Sub

関連項目

2021年10月8日 更新

ページの先頭へ