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化してくれるようです。

Presentation Translatorが公開されました。前のページ

【感想】特別展「深海2017」に行ってきたよ(1)次のページ

関連記事

  1. Office関連

    各ページの各行の行頭と行末に文字列を挿入するWordマクロ

    Word文書の各ページに10行程度の文章があり、各行の行頭と行末に文字…

  2. Office アドイン

    [Officeアドイン]地図記号挿入アドイン

    ちょっとずつ作成していたWord用のOffice アドインがようやくO…

  3. Office関連

    [Excel Services ECMAScript]アクティブなシート名を取得する。

    埋め込んだExcelワークブックのアクティブなシート名を取得するコード…

  4. Office関連

    PhpSpreadsheetを使ってPHPからExcelファイルを出力してみる。

    一年半ほど前、「PHPWord」を使ってPHPからWordファイルを出…

  5. Windows 10

    SeleniumBasic(Selenium VBA)がMicrosoft Edgeに対応しました。…

    言わずと知れたWebブラウザーの自動制御ツール「Selenium」のV…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP