皆さん、こんにちは。今日は、OutlookのメールをVBAを使ってPDFとして保存する方法についてお話しします。パソコンやスマートフォンの操作があまり得意でない方でも、簡単に実践できる内容となっていますので、ぜひ最後までご覧ください。
OutlookのメールをPDFとして保存する理由
まず、なぜOutlookのメールをPDFとして保存する必要があるのでしょうか。例えば、重要な取引先からのメールや、後で見返したい情報が含まれているメールを、簡単に共有したり、バックアップとして保管したりする際に、PDF形式は非常に便利です。PDFは他のデバイスでも閲覧しやすく、編集されにくいため、情報の保護にも役立ちます。
VBAとは何か?
次に、VBAについて簡単に説明します。VBA(Visual Basic for Applications)は、MicrosoftのOffice製品に組み込まれているプログラミング言語です。これを使うことで、OutlookやExcelなどの操作を自動化することができます。難しそうに聞こえるかもしれませんが、基本的な操作を覚えれば、日々の業務を大幅に効率化できます。
このサイトをチップで応援
OutlookでVBAを使ってメールをPDFとして保存する手順
では、具体的な手順を見ていきましょう。
- OutlookでVBAエディタを開く
Outlookを起動し、キーボードの「Alt」キーと「F11」キーを同時に押して、VBAエディタを開きます。 - 新しいモジュールを挿入する
VBAエディタの上部メニューから「挿入」をクリックし、「標準モジュール」を選択します。これで、新しいモジュールが作成されます。 - コードを入力する
以下のコードをコピーして、先ほど作成したモジュールに貼り付けます。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:UsersYourUsernameDocumentsSavedEmails"' 選択された各メールアイテムに対して処理を行う
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 = NothingMsgBox "選択したメールのPDF保存が完了しました。", vbInformation
End Sub
このコードは、選択したメールをPDFとして指定したフォルダに保存するものです。`savePath`の部分を、ご自身の保存したいフォルダのパスに変更してください。
- コードを実行する
コードを貼り付けたら、VBAエディタを閉じ、Outlookに戻ります。次に、PDFとして保存したいメールを選択し、キーボードの「Alt」キーと「F8」キーを同時に押して、「マクロ」ダイアログを開きます。リストから「SaveSelectedEmailsAsPDF」を選択し、「実行」をクリックします。これで、選択したメールがPDFとして保存されます。
よくある質問や疑問
Q1: コードを実行しても何も起こりません。どうすればいいですか?
まず、OutlookとWordが正しくインストールされていることを確認してください。また、セキュリティ設定によっては、マクロの実行が制限されている場合があります。Outlookの「オプション」から「セキュリティセンター」を開き、「マクロの設定」で「警告を表示してすべてのマクロを無効にする」を選択してみてください。
Q2: 保存先のフォルダを変更したいのですが、どうすればいいですか?
コード内の`savePath`の値を、お好きなフォルダのパスに変更してください。例えば、デスクトップに保存したい場合は、`”C:UsersYourUsernameDesktop”`と指定します。
まとめ
いかがでしたでしょうか。OutlookのメールをVBAを使ってPDFとして保存する方法をご紹介しました。最初は少し難しく感じるかもしれませんが、一度設定してしまえば、日々の業務がとても効率的になります。ぜひ試してみてください。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント