WORDファイル(docx)を一括PDF変換するPowerShellスクリプト

AzureのCDP(Cloud Design Pattern)がこちらでWORD形式で提供されていました。後でタブレット端末で見たかったのでPDF変換しようと思ったのですが、35ファイルもあったので、PDFに一括変換するためのスクリプト作りました。



コード

まずコードはこちらです。ps1の拡張子でテキスト保存しておいてください。

$word = NEW-OBJECT -COMOBJECT WORD.APPLICATION

$files = Get-ChildItem | Where-Object{$_.Name -match "docx$"}
foreach($file in $files)
{   
    try 
   {
        $doc = $word.Documents.OpenNoRepairDialog($file.FullName)
        $doc.SaveAs([ref] $file.FullName.Replace(".docx",".pdf"),[ref] 17)
        $doc.Close()
        Write-Host "$($file.FullName)をPDF変換しました"        
    }
    catch
    {
        Write-Host "[ERROR]$($file.FullName)のPDF変換に失敗しました"
    }
}
$word.Quit()

 

使い方

  • まずpowershellのコンソールで、docxファイルが入っているフォルダに移動します。
  • テキスト保存したスクリプトを実行します。(ここではConvert.ps1という名前で保存しました)


  • これでどんどんPDF変換が実行されます


WORDファイル自体が壊れていると、このようなポップアップが出てスクリプトが待機状態になってしまうので、「いいえ」を押してください。