• 締切済み

初心者ですが、Excelファイル(AAA.xls)の、A1セルの情報を

初心者ですが、Excelファイル(AAA.xls)の、A1セルの情報を Outlookの本文に入力したいと思っています。 そこで、下記プログラムを組んだのですが、間違いだらけのようで 起動しません。どなたか教えていただけませんか? Sub メール自動送信() Dim my01App As Outlook.Application Dim mymail As Outlook.MailItem Dim body As String Set my01App = CreateObject("Outlook.Application") Set tgtdb = CreateObject("Excel.Application") Set mymail = my01App.CreateItem(olMailItem) With mymail mymail.body = "C:\Users\tomohide\Desktop\AAAA.xls".cells(1,1) End With mymail.Display End Sub

みんなの回答

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.2

ANo.1ですが、解答のコードに間違いがありましたので再回答します。 元の回答コード Dim xlsBook As Object Set xlsBook = xlsApp.Workbooks.Open("C:\Users\tomohide\Desktop\AAAA.xls", , True) mymail.body.text = xlsBook.Sheets(1).cells(1,1) のxlsAppの部分がtomohideさんの質問コードに対応してなくて、tgtdbでなくてはなりませんでした。どうも済みません。従って次のコードで試してみて下さい。 Dim xlsBook As Object Set xlsBook = tgtdb.Workbooks.Open("C:\Users\tomohide\Desktop\AAAA.xls", , True) mymail.body.text = xlsBook.Sheets(1).cells(1,1) がふさわしいコードです。

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

前提が説明されていませんが、Outlook内でのVBAですね。 実際に使ったことがないので検証していませんが、気づいた点をアップします。 ポイントとしては、いきなりcells()関数を使っているので適切に指定できていません。 With mymail mymail.body = "C:\Users\tomohide\Desktop\AAAA.xls".cells(1,1) End With の部分は、次のような記述がふさわしいと考えられます。 Dim xlsBook As Object Set xlsBook = xlsApp.Workbooks.Open("C:\Users\tomohide\Desktop\AAAA.xls", , True) mymail.body.text = xlsBook.Sheets(1).cells(1,1) 以上です。 With mymail .. End With のWithの入れ子は、mymail.bodyと記述しているので効果がないようです。 まだ、Outlookのオブジェクトとメソッドが分からないので、その分野のアドバイスができませんので悪しからず。

関連するQ&A