前提・実現したいこと
VBA初心者です。
VBAでOutlookを起動し、Outlookテンプレートを使用してメールを作成し、
その本文の指定箇所にエクセルのsheet2にある表を入れるようにしたいのですが、
貼り付けの段階でエラーが出ます。
いくつかのコードを試してみましたが、どれも貼り付けがうまくいきません。
正しいコードをご教授いただけると助かります。
発生している問題・エラーメッセージ
現在入れているコードで発生するエラーメッセージは
エラーコード 438です。
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
該当のソースコード
Sub CreateMail()
Dim objOutlook As Outlook.Application
Set objOutlook = New Outlook.Application
Dim objMail As Outlook.MailItem
Set objMail = objOutlook.CreateItemFromTemplate("****.oft")> '指定のテンプレート
objMail.BodyFormat = olFormatHTML
objMail.Display
r = InStr(objMail.HTMLBody, "(図表)")
objMail.HTMLBody = Replace(objMail.HTMLBody, "(図表)", "")'本文に入れる表の位置の指定
Dim Ap As Object
Dim M As Object
Set Ap = CreateObject("Outlook.Application")
Set M = Ap.CreateItem(0)
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet2")
ws.Range("A1:H17").Copy
With Ap.ActiveInspector.WordEditor.Windows(1).Range(r, r).Paste 'ここでエラーが発生します
Application.CutCopyMode = False
End With
End Sub
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー