メモ帳だけで作成!複数のExcelファイルをPDFに一括変換#
ExcelファイルをPDFファイルに変換する時、1つ1つファイルを開いてPDFとして保存していませんか? ファイル数が多いと、同じ作業の繰り返しで時間がかかってしまいます。 この記事では、メモ帳で作成した簡単なスクリプトを使って、複数のExcelファイルを一括でPDFに変換する方法を紹介します。
変換の仕組み#
変換の手順はとてもシンプルです:
- PDFに変換したいExcelファイルを選択
-
作成した変換スクリプトにドラッグ&ドロップ
-
自動で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. スクリプトの保存#
Ctrl + Shift + S
で「名前を付けて保存」を開く- ファイル名は任意(例:
PDF変換.jse
)- 拡張子は必ず
.jse
にしてください
- 拡張子は必ず
- 文字コードは「ANSI」を選択
- 保存をクリック
これで変換スクリプトの作成は完了です。ファイルのアイコンが変わっていれば正常に作成できています。
特定のシートだけを変換する方法#
特定のシートだけを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の自動化テクニックを知りたい方は、さかいブログをチェックしてみてください。 新しい記事も随時更新していきますので、お楽しみに!