コンテキサーそのものには印刷機能がありませんが、Excelと連携することで帳票を印刷できます。
コンテキサーで帳票を印刷するためには、事前に次のような2つのワークシートがある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