毎週新しい記事を更新しています!
お役立ち情報をお届けします

メモ帳だけで作成!複数のExcelファイルをPDFに一括変換

5分

複数のExcelファイルをPDFに一括変換する方法

メモ帳だけで作成!複数のExcelファイルをPDFに一括変換#

ExcelファイルをPDFファイルに変換する時、1つ1つファイルを開いてPDFとして保存していませんか? ファイル数が多いと、同じ作業の繰り返しで時間がかかってしまいます。 この記事では、メモ帳で作成した簡単なスクリプトを使って、複数のExcelファイルを一括でPDFに変換する方法を紹介します。

変換の仕組み#

変換の手順はとてもシンプルです:

  1. PDFに変換したいExcelファイルを選択
  2. 作成した変換スクリプトにドラッグ&ドロップ ドラッグ&ドロップ
  3. 自動でPDF変換が完了 ドラッグ&ドロップ

それでは、この変換スクリプトの作り方を詳しく解説していきます。

変換スクリプトの作成手順#

1. メモ帳を起動#

Windowsのメモ帳を起動します。

メモ帳

2. 以下のコードを貼り付け#

// ドラッグ&ドロップされたファイルを確認する
if (WScript.Arguments.Count() == 0) {
  WScript.echo("ファイルがありません。");
  WScript.Quit();
}
 
// Excelを起動する
var excel = WScript.CreateObject("Excel.Application");
excel.Visible = true;
 
// 1ファイルずつPDFに変換する
for (var i = 0; i < WScript.Arguments.Count(); i++) {
  exportPDF(WScript.Arguments.Item(i));
}
excel.Quit();
WScript.echo("変換終了!");
 
//---------------------------------------------------------
// ExcelファイルをPDFに変換する
function exportPDF(fname) {
  var fs = new ActiveXObject("Scripting.FileSystemObject");
  
  // フォルダパスを取得
  var folderPath = fs.GetFile(WScript.ScriptFullName).ParentFolder
  // ファイル名を取得
  var fileName = fs.GetBaseName(fname);
  // 出力先、ファイル名を設定
  var output = folderPath + '/' + fileName;
 
  // Excelを開き、PDFに変換する
  var book = excel.Workbooks.Open(fname);
  book.ExportAsFixedFormat(0,output ,0,true,false);
  book.Close();
}

3. スクリプトの保存#

  1. Ctrl + Shift + S で「名前を付けて保存」を開く
  2. ファイル名は任意(例:PDF変換.jse
    • 拡張子は必ず .jse にしてください
  3. 文字コードは「ANSI」を選択
  4. 保存をクリック

名前を付けて保存

これで変換スクリプトの作成は完了です。ファイルのアイコンが変わっていれば正常に作成できています。

変換ファイル

特定のシートだけを変換する方法#

特定のシートだけをPDFに変換したい場合は、以下のコードを使用します。

// このシートから(From)
var sheetFrom = 2;
// このシートまで(To)
var sheetTo = 4;
 
// ドラッグ&ドロップされたファイルを確認する
if (WScript.Arguments.Count() == 0) {
  WScript.echo("ファイルがありません。");
  WScript.Quit();
}
 
// Excelを起動する
var excel = WScript.CreateObject("Excel.Application");
excel.Visible = true;
 
// 1ファイルずつPDFに変換する
for (var i = 0; i < WScript.Arguments.Count(); i++) {
  exportPDF(WScript.Arguments.Item(i));
}
excel.Quit();
WScript.echo("変換終了!");
 
//---------------------------------------------------------
// ExcelファイルをPDFに変換する
function exportPDF(fname) {
  var fs = new ActiveXObject("Scripting.FileSystemObject");
  // フォルダパスを取得
  var folderPath = fs.GetFile(WScript.ScriptFullName).ParentFolder
  // ファイル名を取得
  var fileName = fs.GetBaseName(fname);
  // 出力先、ファイル名を設定
  var output = folderPath + '/' + fileName;
  // Excelを開き、PDFに変換する
  var book = excel.Workbooks.Open(fname);
  book.ExportAsFixedFormat(0,output ,0,true,false,sheetFrom,sheetTo,false);
  book.Close();
}

このスクリプトでは、2〜4シート目だけがPDFに変換されます。シート範囲は必要に応じて変更してください。

まとめ#

この記事で紹介した方法を使えば、複数のExcelファイルを簡単にPDFに変換できます。 単純作業の自動化で、業務効率を大幅に改善できますよ。

他にも便利なExcelの自動化テクニックを知りたい方は、さかいブログをチェックしてみてください。 新しい記事も随時更新していきますので、お楽しみに!

関連記事

さかいのプロフィール画像

さかい

Excel・業務効率化・自動化が得意なITブロガー。現役エンジニアとして日々便利なノウハウを発信中。