皆様こんにちは。友松です。
最近ブログの更新は多いものDataSpiderの使い方に関する記事がないぞ!ということで
みんな大好きTIPSを一つ紹介したいと思います。
ということで今回はVBスクリプトと組み合わせて「ExcelをPDFに変換する」スクリプトのご紹介です。
ExcelをPDFに変換する
確かOffice2007からだったかと思いますが、Microsoft Excelが保存形式としてPDFに対応しました。
通常のExcelをPDFとして保存するという機能が標準で提供されるようになりました。
この機能をDataSpiderから呼び出すことで"自動で"ExcelをPDFに変換できます。
スクリプト
スクリプトはこちら。
シンプルなスクリプトですね。
データベースからデータを取得してExcelに書き込んでいます。
その後がポイント!
「外部アプリケーション起動」を使ってVBスクリプトを呼び出しています。
そのプロパティ画面がこちら。
VBスクリプトファイルと変換するExcelファイルのファイルパスを引数として指定しています。
また変換後のPDFファイルの置き場所も指定しています。
こういう時はスクリプト変数をつかって指定をすると後々メンテナンスがしやすいですね。
ここで指定している起動コマンドは環境によって異なりますので
実行されるOSの環境によって変更をしてください。
VBスクリプト
VBスクリプトはこちら。
'On Error Resume Next
Dim xlsFileName,pdfFileName
'実行パラメータ取得
xlsFileName = WScript.Arguments.Item(0)
pdfFileName = WScript.Arguments.Item(1)
'WScript.Echo xlsFileName
'WScript.Echo pdfFileName
'WScript.Echo startPage
'WScript.Echo endPage
'オブジェクト生成&ファイルオープン
Set app = CreateObject("Excel.Application")
app.Visible = false 'アプリケーションの非表示
Set book = app.Workbooks.Open(xlsFileName) 'ファイルを開く
'PDF形式で保存
book.ExportAsFixedFormat xlTypePDF,pdfFileName,xlQualityStandard,true,true
'ファイルのクローズ
book.close
'Excelの終了
app.Application.Quit
このVBスクリプトはサンプルのスクリプトになります。すべての環境で動作するかは確認しておりません。
あくまで参考として決してそのまま運用ではご利用になられないようにしてください。
実行結果
実行するとどうなるか。
これが
こうなります
最後に
今回のように直接アダプタがなくとも「外部アプリケーション起動」の機能を利用して外部アプリケーションと連携することでDataSpider内で制御ができ、変換/連携を自動化することができます。
是非ご活用いただければと思います。
なお、このVBスクリプトはExcelを呼び出しています。
ですので、DataSpiderServerがインストールされているOS上にExcelアプリケーションが必要です。
また、しつこいですが今回公開しているVBスクリプトはあくまでサンプルスクリプトになりますので自己責任にてお使いいただけますようお願いいたします。