概要

Excelへのエクスポート機能を利用することで、画面のイメージをそのままExcelに出力できます。表示中の内容がすべてExcel上のセルに転送されます。

Excel連携では、現在のシートに複数のパネル(コンテキスト)が配置されている場合には、その数だけ連携先のExcelにシートが生成され、そこに表形式でデータが転送されます。シート名はコンテキスト名となり、ブック名(Excelファイル名)はコンテキサーにおけるシート名が自動設定されます(Excelのシート名で利用できない文字は一部変換される場合があります)。

表示方法

コンテキサーのリボン「データ」タブの「Excel」グループから、「インポート」または「エクスポート」を選択します。

Excel連携の起動

コンテキサーのシート上のデータは、メニューの「編集」→「Excel連携」により、Excel上に転送され、必要に応じてデータを加工したり解析したりできます。Excel連携では、現在表示されているシートについて、そこに含まれるパネル(パネルコンテキストに対応)単位で、Excelのシートに表形式でデータが出力されます。

 
図 Excel連携の実行

Excelワークシートの保存先

コンテキサーのExcel連携では、ExcelフォルダにあるExcelブックを参照します。ブック(xlsxファイル)のファイル名は、シート名と同一の名前が使われます。Excel出力時に、同一名称のExcelファイル名(拡張子xls)が存在する場合には、そのファイルを開き、行の内容がワークシートへ転送されます。存在しない場合には、新しくブックを作成します。

Excelフォルダは、ctpファイルの状況によって場所が異なります。次の場所から順番に「excel」という名前のフォルダが最初に見つかった場所を使用します。

  • Contexer.ini(環境設定画面)のExcelフォルダ欄で指定したフォルダ
  • ctpファイルがあるフォルダ (にあるexcelフォルダ)
  • ctpファイルの共通フォルダ (にあるexcelフォルダ)
  • データフォルダ (にあるexcelフォルダ)

データフォルダの場所は、Windowsのバージョンによって異なります。システムメニューのコンテキサーのサブメニューから“フォルダを開く”で移動できます。

上記のいずれのフォルダにも、「excel」フォルダが存在しない場合には、データフォルダに「excel」という名称のフォルダを作成します。

Excel帳票の作成方法

コンテキサーが初回に出力するExcelワークブックをもとに、印刷用の帳票や解析用のグラフなどを別のワークシートに作成しておき、コンテキサーからその都度、コンテキストの行のみを転送することで、目的に合った出力結果を利用できます。

例えば、この機能を使うことで、あらかじめ決めた帳票にしたがって、コンテキサー上で選択したレコードの内容を印刷させることができます。コンテキサーが自動生成したワークシートから、印刷用に作成した帳票上の表示させたい場所に行を表示させるには、「リンクの貼り付け」を使います。

まずExcelワークブックに新たに「印刷」というシートを作成して、帳票印刷のためのレイアウトを作成します。次にコンテキサーから内容が転送されるワークシートにて、使用したいレコードが出力される部分のセルをコピーしておきます。

そして次の図のように、「印刷」ワークシートのレコードを出力したい位置で、「形式を選択して貼り付け」でリンクを貼り付けます。

図 2 印刷帳票の作成

帳票に使用するExcelワークブックの形式は、xls(Excel2007より前)、xlsx(Excel2010以降)、およびxlsm(マクロ形式)のどれかである必要があります。Excelフォルダを確認して、ctpファイル名と同一の名前の存在するワークシートを探して開きます。いずれのワークブックも存在しない場合は、既定ではインストールされているExcelの既定のファイル形式で保存されます。

Excelマクロの利用

コンテキサーは、Excel連携ボタンがクリックされたときに、データを転送すると同時に、次の3つのExcelマクロを順に呼び出します。もし、該当するマクロが存在しない場合には、無視されます。

表 5 コンテキサーがExcelで呼び出すマクロ関数
マクロ名 説明
ClearData Excelにデータを転送する前に呼び出します。
MakeData データを転送した後に呼び出します。
ShowData すべての処理が成功した場合に呼び出します。
(「Excel出力」コマンドアクションでは、処理方法の設定に応じて実行されます)

この機能を利用して、Excel連携ボタンがクリックされたときに、自動でExcelの印刷機能を実行できます。次の例は、Excel連携を実行した後に、印刷シートを開き、プレビューを実行するというものです。これを、Excelのマクロとして登録するか、VBAの標準モジュールの中に定義してください。

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

詳細設定

コンテキサーのリボン「定義」タブ「Excel連携設定」から、Excel連携に関する詳細設定ができます。

またコマンドボタンによって帳票を印刷するには、「Excel出力」アクションを使います。

2020年7月11日 更新

ページの先頭へ