前提・実現したいこと
エクセルのVBAとOutlookを連携させて一括送信メーラーを創っています。
一括送信メーラーにファイル添付機能を追加するため、
以前創ったVBAと統合した所、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
実行時エラー'438'オブジェクトは、このプロパティまたはメソッドをサポートしていません。
該当のソースコード
VBA
1Sub ovba() 2 3 4'ファイルの選択ダイアログを表示して 5'ファイルのパスを取得します 6 7Dim fType, prompt As String 8Dim fPath As Variant 9Dim ws As Worksheet 10Dim ObjMail As Object 11 12 13Dim objOutlook As Outlook.Application 14Dim i As Long 15Dim rowMax As Long 16Dim wsList As Worksheet 17 18Set ObjMail = CreateObject("Outlook.Application") 19 20Set objOutlook = New Outlook.Application 21Set wsList = ThisWorkbook.Sheets("送信先") 22Set wsMail = ThisWorkbook.Sheets("メール内容") 23 24'選択できるファイルの種類はすべてのファイル 25fType = "" 26 27 28'ダイアログのタイトルを指定 29prompt = "Excelファイルを選択して下さい" 30'ファイル参照ダイアログの表示 31fPath = Application.GetOpenFilename(fType, , prompt) 32 33If fPath = False Then 34'ダイアログでキャンセルボタンが押された場合は処理を終了します 35End 36End If 37 38'B2セルにファイル名をセット 39wsMail.Cells(10, 3).Value = fPath 40 41 42 43 44'--- 添付ファイルのパス ---' 45Dim attachmentPath As String 46attachmentPath = fPath 47 48'--- 添付ファイルを設定 ---' 49Call ObjMail.Attachments.Add(attachmentPath) 50 51 52With wsList 53 54 '送信先の件数 55 rowMax = .Cells(Rows.Count, 1).End(xlUp).Row 56 57 '送信先の件数分繰り返す 58 For i = 2 To rowMax 59 Set ObjMail = objOutlook.CreateItem(olMailItem) 60 With ObjMail 61 ObjMail.To = wsList.Cells(i, 4).Value 'メール宛先 62 ObjMail.Subject = wsMail.Range("B1").Value 'メール件名 63 ObjMail.BodyFormat = olFormatPlain 'メールの形式 64 ObjMail.Body = wsMail.Range("B2").Value 'メール本文 65 ObjMail.Display 'Outlookの下書きをDisplayする 66 End With 67 Next i 68 69End With 70 71 72 73 74End Sub 75
試したこと
438エラー自体はよく遭遇します。
今回、デバッガが49行目のCall ObjMail.Attachments.Add(attachmentPath)で止まるので、
添付ファイルのアップロード処理を記述したfpath近辺のVBAがおかしいと思い試行錯誤しております。
また、前半のDim objOutlookとDim ObjMailの変数宣言でも同一の処理を入力してしまっていると思い、
今手入力で新しくVBAを創りなしてデバッグしています。
もしこの438エラーの原因等がおわかりになれば教えてください。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Windows10
Excel 2019
Outlook 2019
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/08 08:55
2020/04/08 10:20
2020/04/13 02:14
2020/04/13 03:13
2020/04/13 04:11
2020/04/13 05:33