編集中のWordドキュメントをサクッとPDF化するアドイン

素早く手軽にPDF化

WordドキュメントのPDF化

f:id:akashi_keirin:20170922220226p:plain

大量のWordドキュメントを自動でPDF化する、というのは、かなり前に対応済みだった。

akashi-keirin.hatenablog.com

Wordドキュメント1つとか2つだけをPDF化する、などというシチュエーションはほとんどなかったので、そういうときは[印刷]メニューでプリンタをJUST PDFとかCubePDFとかに設定してPDFを吐かせていた。

ただコレ、意外とヒマかかるんですよ。

編集中のWordドキュメントをサクッとPDF化したい、というときには不便だった。たった1つや2つのためにわざわざExcelで作ったPDF化ツールを立ち上げるのもばかげているし。

そこで、アドインですよ!

そこでひらめいたのが、最近ハマり気味の「アドイン」。

で、やってみた……んですけどね、

なんでExcelとアドインの登録方法が違うねん!

あれこれ調べまくって、やっとある程度方法が分かったので、紹介する。もっといいやり方があったら教えてください。

Wordへのアドインの登録

f:id:akashi_keirin:20170922220243j:plain

まず、マクロを書いたファイルを、「Word マクロ有効テンプレート(*.dotm)」の形式で保存する。

f:id:akashi_keirin:20170922220303j:plain

保存先は、

C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Word\STARTUP

フォルダ。

f:id:akashi_keirin:20170922220336j:plain

テキトーにWordドキュメントを開いて、[ファイル]タブをクリック。

f:id:akashi_keirin:20170922220345j:plain

[オプション]をクリック。

f:id:akashi_keirin:20170922220403j:plain

[アドイン]をクリック。

f:id:akashi_keirin:20170922220415j:plain

「管理」のところのドロップダウンリストで「Wordアドイン」を選択。

f:id:akashi_keirin:20170922220428j:plain

[設定]をクリック。

f:id:akashi_keirin:20170922220437j:plain

アドイン化したいマクロ名を選んで、

f:id:akashi_keirin:20170922220447j:plain

[OK]をクリック。

ここまでで登録はおk。

次に、クイック アクセス ツール バーに登録する。ここからはExcelのときと全く同じだけれど、一応書いとく。

f:id:akashi_keirin:20170922220500j:plain

[ファイル]タブ→「クイック アクセス ツール バー」をクリック。

f:id:akashi_keirin:20170922220510j:plain

「コマンドの選択」ドロップダウンリストから「マクロ」を選び、

f:id:akashi_keirin:20170922220524j:plain

アドイン化したいマクロ名を選択して、

f:id:akashi_keirin:20170922220547j:plain

[追加]をクリック。

f:id:akashi_keirin:20170922220601j:plain

アイコンが気に食わなければ、テキトーに変更して、

f:id:akashi_keirin:20170922220611j:plain

[OK]をクリック。

f:id:akashi_keirin:20170922220624j:plain

クイック アクセス ツール バーに登録された。

f:id:akashi_keirin:20170922220634j:plain

フォルダ内に「test.docx」1つだけがある状態で、こいつを開いてクイック アクセス ツール バーのアイコンをクリックすると、

f:id:akashi_keirin:20170922220644j:plain

次の瞬間に、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

コードの説明は省略。お望みでしたらコメントください。

おわりに

こういうちょっとした処理をアドイン化しといたら便利だなあ。

@akashi_keirin on Twitter