【図解あり】複数のWordファイルを一括でpdf化する方法

この記事では、フォルダにあるワードファイルすべてを一括でPDFにする方法を紹介します。
この記事を読めば、ファイルを開いて変換する手間が今後一切なくなります

こんな方におすすめ

  • wordファイルのpdf化、めんどくさすぎる!!という方
  • ChatGPTを使ったけど、機能しなかった方

文書として展開・保存する際、pdfファイルに変換する必要が出てくることはよくあります。

このとき、複数のファイルを手動でPDF化すると時間がかなり掛かってしまいます。
今回はフォルダにある全てのwordファイルを一括pdf化するps1ファイルを紹介します。

この記事ではコードを紹介しますので、それをコピーして張り付けるだけでps1ファイルが作れます。

それではさっそく説明いたします。

機能紹介

このファイルは、フォルダ内にあるwordファイルをpdf化するものです。

例えば、フォルダにこんな感じでwordファイルがあるとします。

紹介する手法を使えば、一括でフォルダにあるWordファイルをPDF化しフォルダに纏めることが出来ます。

さっそく作り方を説明します。

ps1ファイルの作り方・使い方

ps1ファイルの作り方は、この記事を参照ください。
図解付きでps1ファイルの作り方と使い方を紹介しています。

コード紹介

今回使用したファイルの中身は下記です。

# Wordアプリケーションを開始
$Word = New-Object -ComObject Word.Application
# Wordウィンドウを表示しないようにする
$Word.Visible = $false  

# 現在のフォルダを指定
$path = get-location
$ext = ".pdf"

# 出力先のフォルダを指定
$outputFolder = ".\pdf化"
# フォルダが存在しない場合は作成
if (-not (Test-Path $outputFolder)) {
    New-Item -ItemType Directory -Force -Path $outputFolder
}

# フォルダ内のWordファイルを取得
$Files = Get-ChildItem -Path $path -Filter *.docx
$WordFiles = $Files.FullName

foreach ($WordFile in $WordFiles){
    
    # Wordファイルを開く
    $doc  = $word.Documents.Open($WordFile)

    #変換対象ファイルをpdfとしてエクスポート
    $doc.ExportAsFixedFormat($WordFile + ".pdf", 17)

    #ファイル名に".docx"が残ってしまうのでリネーム
    $pdffile =  $WordFile + $ext
    Get-ChildItem $pdffile | Foreach-Object {$newname = $_.Name -Replace ".docx",""}
    
    #Move-Itemで移動
    Move-Item $pdffile -Destination "$path\pdf化\$($newname)" -Force
    
}

# Wordアプリケーションを終了
$word.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Word) | Out-Null
[GC]::Collect() 
Write-Host "PDF変換が完了しました。"

この上のコードをコピーして、テキストに張り付けてps1ファイルにしてください。
それだけでファイルが完成します。

使い方

ファイルが完成したらこんな感じになります。

まず、先ほどのフォルダのパスを取得します。
フォルダの、上のバーをクリックすると

こんな画面になるので、「Ctrl」+「C」でパスをコピーします。

そうしたら、「Windows Power Shell」を起動します。

起動したら、 「CD」と打ち込んだ後にスペースキーを押し、「Ctrl」+「V」を打ち込みます。
すると下記のような状態になります。

この状態で、作成したps1ファイルを、このウインドウに重ねると

このようになりますので、あとはエンターキーを押すと

これで完成です!
このフォルダを開けば、中にpdf化されたファイルが入っています。

以上、最後まで読んでいただき誠にありがとうございました。

タイトルとURLをコピーしました