前回は、作成した帳票を Excel ファイルとして保存する方法を紹介しました。今回は PDF や XPS 形式で保存する方法を紹介します。
PDF や XPS 形式の保存
Excel の操作では [ファイル] - [エクスポート] メニューを使用して PDF や XPS 形式で出力できます。通常の保存とは別の機能として提供されています。
VBA でも同様で、別のメソッド ExportAsFixedFormat が用意されています。
Workbook.ExportAsFixedFormat メソッド (Excel)
メソッドには引数が多数ありますが、重要なのは初めの 2 つです。
1 つ目は Type です。この引数は出力形式を指定します。設定できる値は XlFixedFormatType 列挙 に定義されていますが、現時点では次の 2 種類だけです。
値 | 定数 | 説明 |
0 | xlTypePDF | PDF 形式で出力 |
1 | xlTypeXPS | XPS 形式で出力 |
2 つ目は FileName で、説明するまでもありませんが、保存するファイル名ですね。
LotusScript で記述すると次のようになります。
Call oXls.Workbooks(1).ExportAsFixedFormat(xlTypePDF, "E:\Notes-Excel#33.pdf") |
なお、上記 XlFixedFormatType 列挙 の 2 つは、xlXls ライブラリに事前に定数宣言しています。
'XlFixedFormatType 列挙 Public Const xlTypePDF = 0 Public Const xlTypeXPS = 1 |
サンプルプログラム
では、前回のエージェントを修正して PDF で保存するように修正すると次のようになります。
・・・ '印刷設定 Call xPageSetup(oSheet) '作成した帳票を PDF で保存 oXls.DisplayAlerts = False Call oXls.Workbooks(1).ExportAsFixedFormat(xlTypePDF, "E:\Notes-Excel#33.pdf") Call oXls.Workbooks(1).Close() End Sub |
ただ、前回と違い Excel シート自身は保存していません。通常だと、保存せず終了すると『保存しますか?』と聞いてきます。今回のコードでは DisplayAlerts = False がセットされているため確認なく終了できてはいますが、あまり丁寧なコードではありませんね。
このような場合に使用できるのが Close メソッドの 1つ目の引数 Savechanges です。False をセットすると保存の確認なしに閉じることができます。
これを利用すると次のようになります。結果は何も変わりませんが...
Call oXls.Workbooks(1).Close(False) |
このプログラムを実行すると指定したファイル名で PDF ファイルが出力されます。たったこれだけのコードで PDF が作成できます。なかなか便利な機能ですね。
まとめ
今回紹介した方法を使えば、ノーツのデータを PDF に変換できます。
Excel 経由となってしまいますが、逆に言うと Excel の機能を使ってノーツではできないことができるようになります。今回のような帳票やグラフを挿入した文書(PDF)が体裁よく出力できるということですね。
ノーツの可能性を広げる機能ですので、ぜひとも挑戦ください。
前回 | Notes - Excel 連携 | 次回 |
0 件のコメント:
コメントを投稿