前提・実現したいこと
エクセルVBAでoutlookを立ち上げ、事前にデスクトップに保存しておいたPDFを
outlookに添付後、送信。という形を取りたいです。
現在outlookに添付しようとしたところでエラーがでました。
尚、事前に作成したPDFの名前はエクセルのセル"B5"の文字列がそのまま名前になっています。
マクロ完成後は不特定多数で使用予定です
発生している問題・エラーメッセージ
実行時エラー13 型が一致しません。
該当のソースコード
vba
1 Dim OL As outlook.Application 2 Set OL = CreateObject("Outlook.Application") 3 Dim ws As Object, dt As Variant 4 Dim outlook As Object 5 Dim mail As Object 6 Set ws = CreateObject("WScript.Shell") 7 Dim MI As outlook.MailItem 8 Set MI = OL.CreateItem(olMailItem) 9 10 Dim R As Range 11 Set R = Range("B5") 12 dt = ws.SpecialFolders("Desktop") \ R 13 14 Set outlook = CreateObject("Outlook.Application") 15 Set mail = outlook.CreateItem(0) 16 With mail 17 .BodyFormat = 2 18 .To = "xxxxxxxxxxxx@gmail.com" 19 .Subject = "テスト送信" 20 .Body = "テスト送信です" 21 .Attachments.Add dt & ".pdf" 22 .Send 23 End With 24 25 MI.Display
試したこと
上記コードの変数Rの部分を省いたりしましたが
エラーが出てしまいました
補足情報(FW/ツールのバージョンなど)
office2016
回答1件
あなたの回答
tips
プレビュー