ひょいっと、ドラッグアンドドロップするだけでPDFが作れちゃうんだぞ~
VBAでマクロを作ると、Excelブックを開いてマクロを実行する手間があります。VBScriptで書いたVBSファイルを作っておけば、エクスプローラー上で、WordファイルをドラッグアンドドロップするだけでPDF作成できるので便利です。
完成イメージの動画をご覧ください(再生しても音は出ません)
複数のWordファイルを一括処理できます。
VBScriptでWordファイルからPDFを作成する
「ドラッグアンドドロップされたWordファイル」から「同名のPDF」をエクスポートするスクリプトです。
※印刷レイアウトの設定処理はありません。あらかじめ、Wordファイルで印刷レイアウトの設定をしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
'Wordオブジェクト作成 Dim wordApp Set wordApp = WScript. CreateObject ("Word.Application") wordApp.Visible = False 'ファイルシステムオブジェクト作成 Dim fso Set fso = CreateObject("Scripting.FileSystemObject") 'このvbスクリプトが存在するフォルダを取得 Dim parentFolder parentFolder = fso.GetParentFolderName(WScript.ScriptFullName) 'ドラッグ&ドロップで取得したファイルパスを格納 Dim args Set args = WScript.Arguments 'このvbスクリプトと同じ階層にPDFを作成する Dim filePath For Each filePath In args Dim wordDoc Set wordDoc = wordApp.Documents.Open(filePath) Dim baseName, pdfFileName baseName = fso.GetBaseName(filePath) pdfFileName = parentFolder & "\" & baseName & ".pdf" wordDoc.ExportAsFixedFormat pdfFileName, 17, False '[memo]第2引数の「17」は「wdExportformatPDF」の意味 wordDoc.Close wdDoNotSaveChanges '対象ファイル閉じる Set wordDoc = Nothing Next 'Wordアプリ終了 wordApp.Quit |
Windowsの「メモ帳」を開いて、上記のスクリプトをコピー貼り付けします。
メモ帳を「名前を付けて保存」するときに、拡張子をvbsにします。
確認メッセージが出ます。「はい」を選択します。
VBScriptのファイルになりました。アイコンも変わっています。
WordファイルをVBSファイルにドラッグアンドドロップする
「Wordファイル」を「VBSファイル」にドラッグアンドドロップします。Shiftキーでファイルをまとめて選択できます。
VBSファイルと同じ階層に、PDFが作成されます。
(参考)VBScript専用のエディタ VbsEdit
メモ帳でVBScriptを書くと、読みづらく、エラーチェックもできません。
Excelのエディタ(VBE)でスクリプトを書き、動作確認してからメモ帳に貼り付けてもよいでしょう。ただし、VBScriptとVBAは一部の文法が異なるので、VBEでは動作しても、VBScriptファイルで実行すると、想定どおり動作しない場合もあります。
たとえば「VbsEdit」などの専用エディタを使ってみるのもよいでしょう。
以上、WordファイルをPDFにするスクリプトを紹介しました。直接ドラッグアンドドロップするだけなので、Excelファイルを開いてマクロを実行する手間が省けて便利ですね。