Excel連携

概要

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

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

Excel連携の起動

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

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

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

図 2 印刷帳票の作成

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

Excelマクロの利用

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

表 5 コンテキサーがExcelで呼び出すマクロ関数
マクロ名 説明
ClearData Excelにデータを転送する前に呼び出します。
MakeData データを転送した後に呼び出します。
ShowData すべての処理が成功した場合に呼び出します。

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

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

詳細設定

「パネル編集」画面にある[Excel連携設定]ボタンから、Excel連携に関する詳細設定ができます。

起動方法

コンテキサーのトップメニュー「ファイル」の「Excel」から、「インポート」または「エクスポート」を選択します。

 

2017年1月12日 更新