• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルからの自動送信メールの件名にセルの値)

エクセルからの自動送信メールの件名にセルの値

このQ&Aのポイント
  • エクセルから自動でPDFファイルを作成し所定の宛先に自動送信するコードを使用し、メールの件名にエクセルの決まったセルの文字を引っ張ってくる方法について教えてください。
  • エクセルの表がリンクで作成されており、そのエクセルの表だけをPDFで決まった宛先に送付して「送信完了」となるような自動送信メールのコードを実装したいです。
  • メールの件名には品名(セルA1)が入るだけでも十分ですので、その方法について教えてください。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

Sub Test()   Dim FilePath As String, strSub As String   Dim OutlookApp As Object   Dim OutlookMail As Object   'On Error Resume Next   FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\結果報告書.pdf"   'Sheet2の結果報告書の特定のセルに品名   strSub = Worksheets("Sheet2").Range("A1").Value & "の結果報告書"   Worksheets("結果報告書").ExportAsFixedFormat Type:=xlTypePDF, FileName:=FilePath   Set OutlookApp = CreateObject("Outlook.Application")   Set OutlookMail = OutlookApp.CreateItem(0)   With OutlookMail     .To = "****@******"     .CC = ""     .BCC = ""     .Subject = strSub     .Body = "表題の件添付の通りです。"     .Attachments.Add FilePath     .Send   End With   MsgBox "送信完了" End Sub

akira0723
質問者

お礼

わざわざOutLookを入れて動作確認してくださった甲斐があり、当方の思った通りの動作ができるようになりました。 本当に感謝です。 他の報告書にも使えそうなので頑張ってみます。 助かりました。

akira0723
質問者

補足

欲が出て品名に続きLOT Noも入れたくなったので、3つの文字列や並び順を試すたびに出るエラーメッセージにもめげずに頑張って、シート名を変えたりすることでほぼ完璧に思ったようにできるようになりました。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>表の参照元シートのA1の製品名「○○」 Worksheets("結果報告書") にWorkSheets(○×△)を参照元にしたグラフが有り WorkSheets(○×△).Rang("A1")の値をメールの件名に使いたいのですか WorkSheets(○×△) シート名は固定しないのですか

akira0723
質問者

補足

何度もすみません。 シート名は固定です。 申し訳ありませんが、少し要求が変わりました。 参照元のSheet1「計算表」は関係なく、計算表から結果を引っ張って出来上がったSheet2の「結果報告書」の特定のセルの文字(製品名)をメールの件名に入れたいのですが。 参照元の計算表(Sheet1)で複数の品名を扱うので、Sheet2の結果報告書の特定のセルに品名、例えば(ABC)を入れます。 この方が使いやすく、入力を忘れないので。 メールの件名に「ABC」+「の結果報告書」と表示させることで、PDFを開かなくてもどの品名のメール(報告書)か区別できようになると自分の保存メールでも受信者にもわかりやすいので。 最初はここまで気づかなかったのですが、PDFの自動送信が出来てみると欲が出てきてしまいました。 既に報告書シートの印刷範囲外に「送信ボタン」を作って1クリックで送信できることまで確認しましたので何卒よろしくお願いいたします。 やりたいことが抜けていたり、変わったりして申し訳ありません。

関連するQ&A