Excel

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

ExcelファイルをPDFファイルに変換する時、

1つ1つファイルを開いてPDFとして保存していませんか?

ファイル数が多いと、同じ作業の繰り返しでつまらないですよね

そこで、この記事では複数のExcelファイルをPDFに一括変換する方法を紹介します。

さかい

はじめまして、さかいと申します。
インスタで『エンジニアの仕事術』を紹介している自分が解説させていただきます!

変換イメージ

早速ですが、どのようにExcelをPDFに変換するか説明していきます

①PDFに変換したいExcelファイルを選択する

②PDF変換ファイルにドラッグ&ドロップする

③PDF出力完了

これだけでPDFファイルに変換できます!

②の変換ファイルの作り方について説明していきます

変換ファイルの作成

早速、変換ファイルの作り方を解説していきます!

1.メモ帳を起動

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

4.ファイル名、形式を変更して保存

ファイル名は任意で大丈夫です。

①「.」から後ろに「.jse」を入力
②文字コードは「ANSI」を選択

5.完成

ファイルのアイコンが変わっていればOKです

あとは先ほど紹介したように

Excelファイルをドラッグ&ドロップするとPDFファイルに変換できます

シートを指定して1つのPDFファイルに変換

シート番号を指定して、1つのPDFファイルに変換する方法を紹介

2行目と4行目にシート番号を入力します。

// このシートから(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に変換されます

まとめ

いかがでしたか。

けっこう簡単にPDFファイルに変換できますよね。

他にもこのようなツールやExcelマクロを紹介していく予定なので、

こういう機能が欲しい!などリクエストがあればインスタのDMやコメントにどしどし送ってほしいです。

力になれるように頑張らせていただきます!