編集中のWordドキュメントをサクッとPDF化するアドイン
素早く手軽にPDF化
WordドキュメントのPDF化
大量のWordドキュメントを自動でPDF化する、というのは、かなり前に対応済みだった。
Wordドキュメント1つとか2つだけをPDF化する、などというシチュエーションはほとんどなかったので、そういうときは[印刷]メニューでプリンタをJUST PDFとかCubePDFとかに設定してPDFを吐かせていた。
ただコレ、意外とヒマかかるんですよ。
編集中のWordドキュメントをサクッとPDF化したい、というときには不便だった。たった1つや2つのためにわざわざExcelで作ったPDF化ツールを立ち上げるのもばかげているし。
そこで、アドインですよ!
そこでひらめいたのが、最近ハマり気味の「アドイン」。
で、やってみた……んですけどね、
なんでExcelとアドインの登録方法が違うねん!
あれこれ調べまくって、やっとある程度方法が分かったので、紹介する。もっといいやり方があったら教えろてください。
Wordへのアドインの登録
まず、マクロを書いたファイルを、「Word マクロ有効テンプレート(*.dotm)」の形式で保存する。
保存先は、
C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Word\STARTUP
フォルダ。
テキトーにWordドキュメントを開いて、[ファイル]タブをクリック。
[オプション]をクリック。
[アドイン]をクリック。
「管理」のところのドロップダウンリストで「Wordアドイン」を選択。
[設定]をクリック。
アドイン化したいマクロ名を選んで、
[OK]をクリック。
ここまでで登録はおk。
次に、クイック アクセス ツール バーに登録する。ここからはExcelのときと全く同じだけれど、一応書いとく。
[ファイル]タブ→「クイック アクセス ツール バー」をクリック。
「コマンドの選択」ドロップダウンリストから「マクロ」を選び、
アドイン化したいマクロ名を選択して、
[追加]をクリック。
アイコンが気に食わなければ、テキトーに変更して、
[OK]をクリック。
クイック アクセス ツール バーに登録された。
フォルダ内に「test.docx」1つだけがある状態で、こいつを開いてクイック アクセス ツール バーのアイコンをクリックすると、
次の瞬間に、PDFファイルが生まれている。
結構一瞬でPDF化できる。
もちろん、特定のページだけをPDF化、みたいな手の込んだことはできない。そんなときは素直にフツーのやり方をすればよろしい。
今回使用したマクロのコード
リスト1 標準モジュール
Option Explicit Public Sub convertToPDF() '///アクティブドキュメントをPDF化する。' Dim objDoc As Document Set objDoc = ActiveDocument Dim pathStr As String pathStr = objDoc.FullName 'フルパスから拡張子の「.」の位置を取得。' Dim n As Integer n = InStrRev(pathStr, ".") '「.」の位置を元に、PDFファイルのフルパスを作る。' pathStr = Left(pathStr, n) & "pdf" With objDoc .ExportAsFixedFormat OutputFileName:=pathStr, _ ExportFormat:=wdExportFormatPDF End With Set objDoc = Nothing End Sub
コードの説明は省略。お望みでしたらコメントください。
おわりに
こういうちょっとした処理をアドイン化しといたら便利だなあ。