小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


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

はじめに

複数のWord文書を一括でPDFファイルに変換する方法がないかを探していたら、PowerShellスクリプトを使って同じことをやっている人を見つけました。

WORDファイル(docx)を一括PDF変換するPowerShellスクリプト - YOMON8.NETWORDファイル(docx)を一括PDF変換するPowerShellスクリプト - YOMON8.NET
とてもナイスな記事でした。

複数のWordファイルを一括でPDFに変換する

上記ページのスクリプトは、docxのみを対象としていました。
ぼくは、docファイルも同様の扱いにしたかったため、docファイルとdocxファイルの両方を検索対象に含めるように、スクリプトを一部改良しました。

$word = NEW-OBJECT -COMOBJECT WORD.APPLICATION

# docxファイルまたはdocファイルを検索する
$files = Get-ChildItem | Where-Object{$_.Name -match "docx$" -or $_.Name -match "doc$"}
foreach($file in $files)
{   
   try 
   {
        $doc = $word.Documents.OpenNoRepairDialog($file.FullName)
        # 拡張子をpdfに変更して保存する
        $doc.SaveAs([ref] $file.FullName.Replace($file.Extension,".pdf"),[ref] 17)
        $doc.Close()
        Write-Host "$($file.FullName)をPDF変換しました"        
    }
    catch
    {
        Write-Host "[ERROR]$($file.FullName)のPDF変換に失敗しました"
    }
}
$word.Quit()
使い方

1.上記のソースコードを「word2pdf.ps1」というファイル名で保存します。
2.word2pdf.ps1をWord文書が置かれているフォルダにコピーします。
3.PowerShellを起動し、Word文書のフォルダに移動します。
4.word2pdf.ps1を実行します。
f:id:replication:20150501094334p:plain
f:id:replication:20150501094336p:plain

関連記事