TOP » Convert XLS » バッチファイルでCSVをPDFに変換

バッチファイルでCSVをPDFに変換

CSVファイルをPDFに変換する方法はわかりましたが、コマンド/バッチからでも可能ですか?
はい、可能です。
GUIで登録した変換ジョブを利用する方法と、全てをコマンドで実行する方法があります。

本記事の英語版は以下のリンク先からご確認いただけます。
(The English version of this article can be found at the following link.)
Command Line: Convert CSV to well formatted PDFs

GUIで登録した変換ジョブを利用する方法

この操作のメリットは設定が用意であること、コマンドに関する知識が少なくても実行できることです。
デメリットは、応用性に欠けるため外部システムとの連携に活用し辛い点です。

【操作手順】

  1. CSVファイルをPDFに変換する方法 (GUI編)』の手順に沿ってタスクを登録
  2. [ファイル][変換ジョブを名前を付けて保存] をクリックして登録したタスクを変換ジョブとして保存
    CX-変換ジョブを名前を付けて保存
  3. コマンドプロンプトを開いて /J スイッチを付けてジョブファイルを実行
    
    ConvertXLS /J"C:\IN\job\ジョブファイル名.SII"
    

【操作動画】

直接コマンドを記述する方法

この操作のメリットは応用しやすい点です。例えば出力するファイル名の末尾に日付を追加することができます。
また、そのまま外部システムと連携しやすい点が特徴です。
デメリットは、コマンド知識や BATファイルの知識・経験を必要とする点です。

以下のサンプルでは、ファイル名の末尾に日付を追加して別のフォルダに保存しています。

【コマンドサンプル1:テンプレートファイルの内容をクリア】


ConvertXLS /S "C:\IN\templatefile.xlsx" /T "C:\IN\templatefile.xlsx" /P112 /1 2 /2 1 /3

コマンドスイッチの内容は以下の通りです。

  • /S:入力ファイルを指定 (引用符の使用を推奨)
  • /T:出力ファイルを指定 (引用符の使用を推奨)
  • /P112:特殊処理「(.XLS) セル内容クリア」
  • /1 #:クリアする内容を指定する追加パラメータ (2は内容をクリア)
  • /2 #:処理対象のシート名または番号を指定 (サンプルでは1番目のシートを指定)
  • /3 #:クリアを実行するセル範囲の指定 (使用範囲とする場合は空白のまま)

【コマンドサンプル2:CSVのデータをテンプレートにコピー】


ConvertXLS /S "C:\IN\ファイル名.csv" /T "C:\IN\templatefile.xlsx" /P101 /1 1 /6 1

コマンドスイッチの内容は以下の通りです。

  • /S:入力ファイルを指定 (引用符の使用を推奨)
  • /T:出力ファイルを指定 (引用符の使用を推奨)
  • /P101:特殊処理「(.XLS) 指定したシートのデータから~」
  • /1 #:入力ファイルのシートを指定 (サンプルでは1番目のシートを指定)
  • /6 #:出力ファイルのシートを指定 (同上)

【コマンドサンプル3:PDFに変換】


ConvertXLS /S "C:\IN\templatefile.xlsx" /T "C:\OUT\ファイル名_%date:/=%.pdf" /C-1 /M1 /V 

コマンドスイッチの内容は以下の通りです。

  • /S:入力ファイルを指定 (引用符の使用を推奨)
  • /T:出力ファイルを指定 (引用符の使用を推奨)
  • /C-1:出力ファイルの種類 (-1 は PDFでの出力を指定)
  • /M1:変換方式を指定 (1 は MS Excel 方式)
  • /V:詳細モード (変換結果をメッセージボックスで表示)
  • ※ %date:/=% は、Convert XLS の変数ではありません。

以下の動画では、上記の3つのコマンドを 1つにまとめたBATファイルを実行しています。

【操作動画】