• ベストアンサー

マクロ「pdfでメール添付」の方法を教えてください

マクロで、「ファイルをpdfにしてアウトルックに添付」というボタンを作りたいのですが、 方法を教えてください。 マクロで「pdfで共有」というのを記録してみたのですが、なぜかエクセルファイルのまま添付されてしまいます。 全くマクロに詳しくないので、初心者向けに分かりやすく教えていただけるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

後記コードはいかがでしょうか。 なお、PDFを作成するシートは選択中のシート。 ファイル名はシート名にしました。 Sub SendMail()  '--- PDFファイル作成  Dim PdfFile As String  PdfFile = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".PDF"  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile     DoEvents  'MsgBox "添付ファイル作成終了"     '--- Outlook操作のオブジェクト ---'  Dim objOutlook As Object  Set objOutlook = CreateObject("Outlook.Application")     '--- メールオブジェクト ---'  Dim objMail As Object  Set objMail = objOutlook.CreateItem(0)       '--- メールの内容を格納する変数 ---'  Dim toStr As String  Dim ccStr As String  Dim bccStr As String  Dim subjectStr As String  Dim bodyStr As String     '--- 宛先の内容 ---'  toStr = "hogehoge@abc.com"  '"[宛先のメールアドレス]"  ccStr = "" '"[CCのメールアドレス]"  bccStr = "" '"[BCCのメールアドレス]"     '--- 件名の内容 ---'  subjectStr = "[件名]"    '--- 本文の内容 ---'  bodyStr = "[本文]"       '--- 条件を設定 ---'  objMail.To = toStr  objMail.CC = ccStr  objMail.BCC = bccStr  objMail.Subject = subjectStr  objMail.Body = bodyStr     '--- 添付ファイルを設定 ---'  Call objMail.Attachments.Add(PdfFile)     '--- メールを表示 ---'  objMail.Display    ' '--- メールを送付 ---' ' objMail.Send       MsgBox "送信したPDFファイルを削除します。"  Kill PdfFile      End Sub

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>マクロ この質問のあたりになると、「マクロ」と言うよりは、VBAというべきで、(1)エクセルVBAと(2)アウトルックVBAの課題です。WEbでマクロと言っている例があるが、初心者迎合的と思う。 >添付 メイルに添付というのは、出来上がった「ファイル」を添付するだけで、添付用ファイル(の形式)が特別に、あるわけではない。受け取った側で、そのファイルを見られる(画面で表示でいる、ADOBEReadderとか。最近はエクセルで読み込ませられる。)か、その後処理できるかどうか、はあるが(エクセルなどを持っているか) 最近はエクセルで、拡張子をPDFに指定して保存すると、エクセルがPDF形式ファイルに変換して、それで保存してくれるのではないか。 質問には、バージョンさえも質問に書いてない程度だが、やってみること。 ーー ファイル添付に関して。 OutlookVBAではファイル添付はどうするか? Googleで「outlook vba ファイル添付」で照会すれば、コード例がたくさん見つかる。それさえもやってないようだが。 objMail.Attachments.Add(attachmentPath)のあたり。 Pathと言っているが、実質はファイルのフルパス名指定です。 ーー 自分のメイルアドレスにあてて、テスト用のメイルを送れるから、そういうテストをやってみて、納得すればよい。

関連するQ&A