OutlookのメールをVBAでPDFとして保存する方法

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、OutlookのメールをVBAを使ってPDFとして保存する方法についてお話しします。パソコンやスマートフォンの操作があまり得意でない方でも、簡単に実践できる内容となっていますので、ぜひ最後までご覧ください。

スポンサーリンク

OutlookのメールをPDFとして保存する理由

Outlookのイメージ

Outlookのイメージ

まず、なぜOutlookのメールをPDFとして保存する必要があるのでしょうか。例えば、重要な取引先からのメールや、後で見返したい情報が含まれているメールを、簡単に共有したり、バックアップとして保管したりする際に、PDF形式は非常に便利です。PDFは他のデバイスでも閲覧しやすく、編集されにくいため、情報の保護にも役立ちます。

VBAとは何か?

次に、VBAについて簡単に説明します。VBA(Visual Basic for Applications)は、MicrosoftのOffice製品に組み込まれているプログラミング言語です。これを使うことで、OutlookやExcelなどの操作を自動化することができます。難しそうに聞こえるかもしれませんが、基本的な操作を覚えれば、日々の業務を大幅に効率化できます。

OutlookでVBAを使ってメールをPDFとして保存する手順

では、具体的な手順を見ていきましょう。

  1. OutlookでVBAエディタを開く
    Outlookを起動し、キーボードの「Alt」キーと「F11」キーを同時に押して、VBAエディタを開きます。
  2. 新しいモジュールを挿入する
    VBAエディタの上部メニューから「挿入」をクリックし、「標準モジュール」を選択します。これで、新しいモジュールが作成されます。
  3. コードを入力する
    以下のコードをコピーして、先ほど作成したモジュールに貼り付けます。

    vba
    Sub SaveSelectedEmailsAsPDF()
    Dim olApp As Outlook.Application
    Dim olMail As Outlook.MailItem
    Dim olSelection As Selection
    Dim wdApp As Object
    Dim wdDoc As Object
    Dim tempMHT As String
    Dim savePath As String
    Dim mailItem As Object

    ' Outlookアプリケーションを取得
    Set olApp = Outlook.Application
    ' 選択されたアイテムを取得
    Set olSelection = olApp.ActiveExplorer.Selection

    ' Wordアプリケーションを起動
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")
    If wdApp Is Nothing Then
    Set wdApp = CreateObject("Word.Application")
    End If
    On Error GoTo 0

    ' 保存先フォルダを指定
    savePath = "C:\Users\YourUsername\Documents\SavedEmails\"

    ' 選択された各メールアイテムに対して処理を行う
    For Each mailItem In olSelection
    If TypeName(mailItem) = "MailItem" Then
    Set olMail = mailItem
    ' 一時的なMHTファイルのパスを設定
    tempMHT = Environ("TEMP") & "\" & olMail.Subject & ".mht"
    ' メールをMHT形式で保存
    olMail.SaveAs tempMHT, olMHTML
    ' MHTファイルをWordで開く
    Set wdDoc = wdApp.Documents.Open(tempMHT)
    ' PDFとして保存
    wdDoc.SaveAs2 savePath & olMail.Subject & ".pdf", 17
    ' ドキュメントを閉じる
    wdDoc.Close False
    ' 一時ファイルを削除
    Kill tempMHT
    End If
    Next mailItem

    ' Wordアプリケーションを終了
    wdApp.Quit

    ' オブジェクトを解放
    Set wdDoc = Nothing
    Set wdApp = Nothing
    Set olMail = Nothing
    Set olSelection = Nothing
    Set olApp = Nothing

    MsgBox "選択したメールのPDF保存が完了しました。", vbInformation
    End Sub

    このコードは、選択したメールをPDFとして指定したフォルダに保存するものです。`savePath`の部分を、ご自身の保存したいフォルダのパスに変更してください。

  4. コードを実行する
    コードを貼り付けたら、VBAエディタを閉じ、Outlookに戻ります。次に、PDFとして保存したいメールを選択し、キーボードの「Alt」キーと「F8」キーを同時に押して、「マクロ」ダイアログを開きます。リストから「SaveSelectedEmailsAsPDF」を選択し、「実行」をクリックします。これで、選択したメールがPDFとして保存されます。

よくある質問や疑問

Q1: コードを実行しても何も起こりません。どうすればいいですか?

まず、OutlookとWordが正しくインストールされていることを確認してください。また、セキュリティ設定によっては、マクロの実行が制限されている場合があります。Outlookの「オプション」から「セキュリティセンター」を開き、「マクロの設定」で「警告を表示してすべてのマクロを無効にする」を選択してみてください。

Q2: 保存先のフォルダを変更したいのですが、どうすればいいですか?

コード内の`savePath`の値を、お好きなフォルダのパスに変更してください。例えば、デスクトップに保存したい場合は、`”C:\Users\YourUsername\Desktop\”`と指定します。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

いかがでしたでしょうか。OutlookのメールをVBAを使ってPDFとして保存する方法をご紹介しました。最初は少し難しく感じるかもしれませんが、一度設定してしまえば、日々の業務がとても効率的になります。ぜひ試してみてください。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました