Office関連

PDFMakerアドインを利用してメールをPDF化するOutlookマクロ

AcrobatのOutlook用COMアドイン(Acrobat PDFMaker Office COM Addin)を調べてみると、「CreatePDFFromEntryID」という、いかにもアイテムのEntryIDを渡せばPDF化してくれそうなメソッドが用意されていたので、さっそく試してみました。

Public Sub Sample()
'選択中のメールをPDF化
  CreatePdfUsingPDFMaker Application.ActiveExplorer.Selection.Item(1).EntryID, _
                         False, _
                         "C:\Test\SamplePDF.pdf"
End Sub

Private Sub CreatePdfUsingPDFMaker(ByVal ItemEntryID As String, _
                                   ByVal IsFolder As Long, _
                                   ByVal OutPdfPath As String)
'Acrobat PDFMaker Office COM Addinを使用してPDF出力
  Dim ad As COMAddIn
  Dim pdfm As Object 'PDFMOUTLOOKLib.PDFMaker
  
  Set pdfm = Nothing '初期化
  For Each ad In Application.COMAddIns
    If LCase(ad.ProgId) = "pdfmoutlook.pdfmoutlook" Then
      Set pdfm = ad.Object
      Exit For
    End If
  Next
  If pdfm Is Nothing Then
    MsgBox "PDFMakerアドインが見つかりませんでした。" & vbNewLine & _
           "処理を中止します。", vbExclamation + vbSystemModal
    Exit Sub
  End If
  pdfm.CreatePDFFromEntryID ItemEntryID, IsFolder, OutPdfPath
End Sub

上記マクロでPDF化したPDFがコチラ↓

COMアドイン側で何らかのエラーが発生すると、以降の処理が止まってしまうようですが、大体は上手くPDF化してくれるようです。

関連記事

  1. Office アドイン

    [Office用アプリ]IMG Effector

    IMG Effectorはドキュメント上のイメージに15種類以上のエフ…

  2. Office関連

    Office クリップボードをマクロで操作する(UI Automation)

    以前MSAAを利用してOffice クリップボードを操作するマクロを書…

  3. Office関連

    VBAから扱えるDLLをC#で書いてみる。

    以前書いた記事でSharpDevelopを使ってExcel用のCOMア…

  4. Office関連

    サジェスト機能を利用したWord用ツール

    「Webサービスのサジェスト機能についてまとめてみました。」でWebサ…

  5. Office関連

    Excel 2016でマップグラフを作成する。

    12月6日、Office Insider向けに、Office 2016…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP