Outlook VBAでPDFを自動作成・送信する方法

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

皆さん、こんにちは。今日は、OutlookとVBAを使って、メールをPDF形式で保存し、自動的に送信する方法をご紹介します。パソコンやスマホがちょっと苦手な方でも大丈夫です。ゆっくり一緒にやっていきましょう。

スポンサーリンク

Outlook VBAとは?

Outlookのイメージ

Outlookのイメージ

まず、Outlook VBAって何でしょうか?簡単に言うと、Outlookでの作業を自動化するためのプログラムのことです。例えば、毎日同じようなメールを送るとき、このVBAを使えば自動でメールを作成・送信できます。難しそうに聞こえるかもしれませんが、ポイントを押さえれば大丈夫です。

メールをPDFとして保存する手順

では、実際にOutlookのメールをPDFとして保存する手順を見ていきましょう。

  1. Outlookを開きます。
  2. 保存したいメールを選択します。
  3. キーボードのAltキーとF11キーを同時に押して、VBAエディタを開きます。
  4. 上部メニューの「挿入」から「モジュール」を選択します。
  5. 表示されたウィンドウに、以下のコードをコピー&ペーストします。
vba
Sub SaveEmailAsPDF()
Dim mail As Outlook.MailItem
Dim wordApp As Object
Dim wordDoc As Object
Dim tempFilePath As String
Dim pdfFilePath As String

' 選択したメールを取得
Set mail = Application.ActiveExplorer.Selection.Item(1)

' 一時的なRTFファイルのパスを設定
tempFilePath = Environ("TEMP") & "\tempMail.rtf"
' 保存するPDFファイルのパスを設定(デスクトップに保存)
pdfFilePath = Environ("USERPROFILE") & "\Desktop\" & mail.Subject & ".pdf"

' メールをRTF形式で一時保存
mail.SaveAs tempFilePath, olRTF

' Wordアプリケーションを起動
Set wordApp = CreateObject("Word.Application")
' 非表示で実行
wordApp.Visible = False
' RTFファイルを開く
Set wordDoc = wordApp.Documents.Open(tempFilePath)
' PDF形式で保存
wordDoc.SaveAs2 pdfFilePath, 17 ' 17はPDF形式を示します
' ドキュメントを閉じる
wordDoc.Close False
' Wordアプリケーションを終了
wordApp.Quit

' ユーザーに完了を通知
MsgBox "メールがPDFとしてデスクトップに保存されました。", vbInformation

' オブジェクトの解放
Set wordDoc = Nothing
Set wordApp = Nothing
Set mail = Nothing
End Sub

このコードは、選択したメールをデスクトップにPDFとして保存するものです。コードを貼り付けたら、上部の「▶」ボタンをクリックして実行します。すると、指定したメールがPDFとしてデスクトップに保存されます。

PDFをメールに添付して送信する手順

次に、作成したPDFをメールに添付して送信する方法をご紹介します。

  1. 先ほどと同じように、VBAエディタを開きます。
  2. 新しいモジュールを挿入し、以下のコードをコピー&ペーストします。
vba
Sub SendPDFAsEmail()
Dim outlookApp As Outlook.Application
Dim mail As Outlook.MailItem
Dim pdfFilePath As String

' PDFファイルのパスを設定(デスクトップ上の"Sample.pdf"と仮定)
pdfFilePath = Environ("USERPROFILE") & "\Desktop\Sample.pdf"

' Outlookアプリケーションを起動
Set outlookApp = New Outlook.Application
' 新しいメールアイテムを作成
Set mail = outlookApp.CreateItem(olMailItem)

' メールの設定
With mail
.To = "[email protected]" ' 送信先のメールアドレスを入力
.Subject = "PDFファイルをお送りします"
.Body = "添付のPDFファイルをご確認ください。"
.Attachments.Add pdfFilePath ' PDFファイルを添付
.Display ' メールを表示(.Sendに変更すると即送信)
End With

' オブジェクトの解放
Set mail = Nothing
Set outlookApp = Nothing
End Sub

このコードを実行すると、新しいメール作成画面が表示され、指定したPDFが添付された状態になります。内容を確認して送信してください。

よくある質問や疑問

Q1: VBAって何ですか?

VBAは「Visual Basic for Applications」の略で、Microsoftのアプリケーション(ExcelやOutlookなど)を自動化するためのプログラミング言語です。難しく感じるかもしれませんが、基本を押さえれば便利に使えます。

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

いくつかの原因が考えられます。まず、Outlookのセキュリティ設定でマクロが有効になっているか確認してください。また、コード内のファイルパスやメールアドレスが正しいかもチェックしてみてください。

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

LINE公式

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

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

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

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

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

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

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

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

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

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

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

相談しに行く

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

まとめ

今回は、OutlookとVBAを使ってメールをPDFとして保存し、それをメールで送信する方法をご紹介しました。最初は難しく感じるかもしれませんが、慣れるととても便利です。ぜひ試してみてください。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

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