• 締切済み

AccessからOutlookを立上げファイル添付で自動メールしたいのですが

以下のようなプログラムでファイルを添付して自動的にメール送信したいと思いました。しかし、.Attachments.Add Me![Attachment]のところで、「オブジェクトは、このプロパティーまたはメソッドは、サポートしていません。」というエラーでうまくいきません。Attachmentsで点を打つとAddが表示され、メンバーとして存在しているのになぜエラーになるのでしょうか?このエラーを回避する方法を教えて頂けないでしょうか?WinXP Professionalで、Access2003を使用しております。 Dim appOutlook As Outlook.Application Dim objMailItem As Outlook.MailItem Set appOutlook = CreateObject("Outlook.Application") Set objMailItem = appOutlook.CreateItem(olMailItem)   ... With objMailItem .To = Me![宛先] .CC = Me![CC先] .Subject = Me![件名] .Attachments.Add Me![Attachment] .Body = Me![内容] .Display .Send End With appOutlook.Quit Set objMailItem = Nothing Set appOutlook = Nothing

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

参照設定で参照不可がないか、 とかoutlook11を参照しているか、 とかの確認はとれていますか。 このようなメッセージが出る場合は そういったことが多いのですが。 参照不可はチェックをはずせば いいので、そのあたりを一度確認 してみてください。また、他の ライブラリの参照も合わせてチェック してみてください。 他のサイトを見てまわりましたが、 オブジェクトの使い方に大きな 差はありません。 http://outlooklab.spaces.live.com/default.aspx このようなところも見ましたが、 特には書いてありません。ただ サービスパックを当てることに よりどの不具合が改善されるのかは 確認していません。

psgrade
質問者

お礼

お調べ頂きありがとう御座いました。 Outlookに関するサイトがあることも分かり、大変参考となりました。 今回の質問内容の解決には至りませんでしたが、ありがとう御座いました。

psgrade
質問者

補足

outlook11の参照設定はされております。Attachment操作を行わなければ、通常の送信操作は出来ていますので、現在は、メール宛先、CC、件名、内容のみ自動作成し、ファイル添付は手動で行うことで対応しております。参照不可は、ありません。現在の参照設定の状況は下記のとおりです。以前、必要ない参照が設定されていて動かないという経験があります。 Visual Basic For Applications Microsoft Access 11.0 Object Library OLE Automation Microsoft DAO 3.6 Object Library Microsoft Outlook 11.0 Object Library Microsoft Office 11.0 Object Library Microsoft Excel 11.0 Object Library

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

解決したでしょうか。 .Attachments.Addを使用するにはオブジェクト変数を 宣言してインスタンスをつくらないと使えないようですが。 http://msdn.microsoft.com/ja-jp/library/cc325767.aspx 私は、OutLookをほとんど使わない、というか インストールをしていないので推測ですが、 マイクロソフトのガイドでは宣言していますね。

psgrade
質問者

補足

回答頂きありがとうございました。 教えて頂いたホームページの「Outlook のメール メッセージをプログラムして送信する」欄のSub sbSendMessageを実行して見ましたが、同じエラーが表示されてしまいました。そもそも欠陥があるということでしょうか!

関連するQ&A

  • ACCESS CreateObjectを使ったMail送信の添付ファイル名

    ACCESSからOutlookのMailを送信したいと思っています。 ------------------------ Dim myOL As Object Dim myMail As Object Set myOL = CreateObject("Outlook.Application") Set myMail = myOL.CreateItem(0) myMail.SentOnBehalfOfName = "" myMail.To = "" myMail.Cc = "" myMail.BCc = "" myMail.Subject = "" myMail.Attachments.Add ("") myMail.Body = "" myMail.Display ------------------------------ そこで、添付したいファイルのフルパスをフォーム上に入力し、 都度それを上の記述に反映したいと思います。 例)me.添付ファイル名 myMail.Attachments.Add ("& me.添付ファイル名 &") でも myMail.Attachments.Add (" me.添付ファイル名 ") でも エラーになってしまいます。 引き続きいろんなパタンを試してみますが、 お分かりになる方、教えて下さい!! (”や’に弱いんです・・・。)

  • アクセスからアウトルックでメールを送りたい

    アクセスからアウトルックでメールを送るために調べたのですが 新しいメッセージを作ってメールを送信するところまではできたのですが 送信ボタンを押下しても、どうやらアウトルックが開いてないと送信できないことがわかりました。 アウトルックは常に立ち上げていません。 なので下記のコードに、アウトルックを立ち上げるコードを入れたのですが わからないので教えていただけますか? Sub メール送信() Dim OlApp As Outlook.Application Dim mItem As Outlook.MailItem Set OlApp = New Outlook.Application Set mItem = OlApp.CreateItem(olMailItem) With mItem .To = "○○@docomo.ne.jp" .Body = "test" .display End With End Sub アウトルックのバージョンは2007です。ご教授よろしくお願いします。

  • マクロがうまくいきません!

    office2000を使用してます。 Excelでボタンをクリックするのみであらかじめ作られたメッセージがメールで送信されるマクロを作成中です。 Private Sub CommandButton2_Click() Dim OLApp As Outlook.Application Dim mItem As Outlook.MailItem Set OLApp = CreateObject("Outlook.Application.9") Set mItem = OLApp.CreateItem(olMailItem) With mItem .Recipients.Add("abcd@abcd.co.jp").Type = olTo .Subject = "明日の件" .BodyFormat = olFormatPlain .Body = "明日、久しぶりに会えるのを" & _ "楽しみにしています。" & vbCr & _ "それじゃ。" .Send End With Set mItem = Nothing Set OLApp = Nothing End Sub このように作成したのですがうまくいきません。 エラーで「オブジェクトは、このプロパティまたはメソッドをサポートしていません」と出ます。参照設定も行ったのですが、どうしてでしょうか?どなたかお願いします。

  • Outlook2013自動送信が出来ません。

    はじめまして、いつもお世話になっております。 excel vba の学習を始めたばかりの初心者です。 あるサイトで自動でoutloook2013を起動しファイルを添付して送信するマクロを 見つけ送信しようとしましたが、『コンパイルエラー』の為、上手くいきません。 どなたか画像をご確認いただき、修正方法をご教示いただきたく存じます。 よろしくお願いいたします。 以下がコンパイルエラーの出たプロシージャ(抜粋) 黄色のライン→Sub sendmail_sample1() 反転→Dim outlookObj As Outlook.Application 'Outlookで使用するオブジェクト生成 以下がコンパイルエラーの出たプロシージャ(全体) Sub sendmail_sample1() '---コード1|outlookを起動する Dim toaddress, ccaddress, bccaddress As String '変数設定:To宛先、cc宛先、bcc宛先 Dim subject, mailBody, credit As String '変数設定:件名、メール本文、クレジット、添付 Dim outlookObj As Outlook.Application 'Outlookで使用するオブジェクト生成 Dim mailItemObj As Outlook.MailItem 'Outlookで使用するオブジェクト生成 '---コード2|差出人、本文、署名を取得する--- toaddress = Range("B2").Value 'To宛先 ccaddress = Range("B3").Value 'cc宛先 bccaddress = Range("B4").Value 'bcc宛先 subject = Range("B5").Value '件名 mailBody = Range("B6").Value 'メール本文 credit = Range("B7").Value 'クレジット '---コード3|メールを作成して、差出人、本文、署名を入れ込む--- Set outlookObj = CreateObject("Outlook.Application") Set mailItemObj = outlookObj.CreateItem(olMailItem) mailItemObj.BodyFormat = 3 'リッチテキストに変更 mailItemObj.To = toaddress 'to宛先をセット mailItemObj.CC = ccaddress 'cc宛先をセット mailItemObj.BCC = bccaddress 'bcc宛先をセット mailItemObj.subject = subject '件名をセット '---コード4|メール本文を改行する mailItemObj.Body = mailBody & vbCrLf & vbCrLf & credit 'メール本文 改行 改行 クレジット '---コード5|自動で添付ファイルを付ける--- Dim attached As String Dim myattachments As Outlook.Attachments 'Outlookで使用するオブジェクト生成 Set myattachments = mailItemObj.Attachments attached = Range("B9").Value '添付ファイル myattachments.Add attached attached = ThisWorkbook.Path & "outlookメール操作.xlsm" '---コード6|メールを送信する--- 'mailItemObj.Save '下書き保存 mailItemObj.Display 'メール表示(ここでは誤送信を防ぐために表示だけにして、メール送信はしない) '---コード7|outlookを閉じる(オブジェクトの解放)--- Set outlookObj = Nothing Set mailItemObj = Nothing

  • outlook2003 本文の一部に色を付けたい。

    vbaでメールを作成するマクロは組めたのですが 一部の文字に色をつける方法がわかりません。 Sub test() Dim acoutlook As Outlook.Application Dim acmail As MailItem Set acoutlook = GetObject(, "outlook.Application") Set acmail = acoutlook.CreateItem(olMailItem) With acmail .To = "aaaa@com" .Subject = "件名" .Body = "赤です。よろしくお願いします。" .Display End With End Sub 上のコードの「赤」という部分を赤色にするにはどうすればいいでしょうか。 ちなみにこれはアクセスから起動しています。 よろしくお願いします。

  • メール本文に段落を設ける。

    OUTLOOKのSENDメソッドを使って、メールを自動送信する際、次の構文では、本文がだらだらするので、段落を設けたいのですがどのようにすればいいか教えて下さい。 Dim AAA, BBB, CCC As Object Set AAA = CreateObject("OUTLOOK.APPLICATION") Set BBB = AAA.CREATEITEM(OLMAILITEM) BBB.To = "宛先" BBB.Subject = "用件名" BBB.BODY = Range("I2").Value & " " & Range("I3").Value & " " & Range("I4").Value & " " & Range("I5").Value & " " & Range("I6").Value Set CCC = BBB.ATTACHMENTS CCC.Add "添付ファイル名" BBB.SEND Set BBB = Nothing Set CCC = Nothing Set AAA = Nothing

  • アウトルックvba 差出人を指定したい

    vbaでメールを送信したいのですが、 アウトルックに二つのアカウントを登録しています。 その時 Sub メール作成() Dim OlApp As Outlook.Application Dim mItem As Outlook.MailItem Set OlApp = New Outlook.Application Set mItem = OlApp.CreateItem(olMailItem) With mItem .To = "test2@docomo.ne.jp" .Subject = "メモ" .Display End With End Sub は、問題なくできるのですが、 差出人(送信者)の部分をどうすればいいかわからないです。 差出人(送信者)の部分とは、画像の部分です。 .Sender = "test@.co.jp" にすると "test@.co.jp"が、コンパイルエラー 型が一致しません。になります。 ヘルプを見ると、 MailItem の送信元のアカウントのユーザーに対応する AddressEntry オブジェクトを取得または設定します。 と書いてあります。 何を言ってるかよくわかりませんが、差出人(送信者)の指定ではないようです。 なので、 .SenderEmailAddress = "test@.co.jp" にしてみましたが、 値の取得のみ可能とのことなので、エラーになりました。 どうやって差出人の指定をすればいいのでしょうか? バージョンは2010です。 よろしくお願いします。

  • ExcelからMailをしたとき漢字が出ない

    Excel上にあるセルの内容をメールにて送りたくて次のようなマクロでメールしたときに本文(.body)の文字が英数は出るのですが漢字が出ません どこを直せばよいか教えてください Sub Mail_01() Dim OutApp As Object Dim OutMail As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) With OutMail .To = Sheets("MAIN").Range("U32") ’アドレスの入力 .CC = "" .BCC = "" .Subject = Sheets("MAIN").Range("U33") ’題目の入力 .Body = Sheets("MAIN").Range("U34") '.Attachments.Add ActiveWorkbook.FullName .Send End With Set OutMail = Nothing Set OutApp = Nothing 'Application.Quit End Sub それと.sendでダイアログが現れます。これを出なくしてプログラムを続けたいのですかどうすれば良いのでしょうか 2点よろしくお願いします

  • ExcelVBAで添付ファイルをつけたいです。

    Excelで顧客のアドレス帳を作成しており、そのアドレス帳全員に同じ文面でメールを送信したいと思い、マクロを作成しております。 調べながらここまではきたのですが、添付ファイルが着きません。 お手数ですが、どなたか自身のデスクトップ上にあるフォルダ内のPDFを 全メールに添付する方法を教えて頂けますでしょうか。 実行しようとすると「添付できるのは、ファイルかオブジェクトに限られます。」と出てしまいます。 ご教示の程、宜しくお願い致します。 下記書いたコードです。 Sub 自動送信Sample() Dim OL As Outlook.Application Dim MI As Outlook.MailItem Dim R_Start As Integer, R_End As Integer Dim Tenp1 As String, Tenp2 As String Set OL = CreateObject("Outlook.Application") Tenp1 = Worksheets("Sheet1").Range("B4") '添付1 Tenp2 = Worksheets("Sheet1").Range("B5") '添付2 R_Start = Worksheets("Sheet1").Range("G2") + 7 '開始番号(開始行) R_End = Worksheets("Sheet1").Range("I2") + 7 '終了番号(終了行) For R_Start = R_Start To R_End Set MI = OL.CreateItem(olMailItem) MI.SentOnBehalfOfName = Worksheets("Sheet1").Range("B2") '差出人 MI.Subject = Worksheets("Sheet1").Range("B3") '件名 MI.To = Worksheets("Sheet1").Cells(R_Start, "B") 'To MI.CC = Worksheets("Sheet1").Cells(R_Start, "C") 'CC MI.BCC = Worksheets("Sheet1").Cells(R_Start, "D") 'BCC '添付 If Tenp1 <> "" Then MI.Attachments.Add Tenp1 End If If Tenp2 <> "" Then MI.Attachments.Add Tenp2 End If '本文 MI.Body = Worksheets("Sheet1").Cells(R_Start, "E") & vbCr _ & Worksheets("Sheet1").Cells(R_Start, "F") & vbCr & vbCr _ & Worksheets("Sheet2").Range("A3") MI.Display 'メール表示 Next Set OL = Nothing Set MI = Nothing MsgBox "完了!" End Sub

  • Outlookのメールを送信するマクロ

    お世話になっております。 Microsoft Outlook2003使用で メール送信のマクロを見様見真似で作ってみたのですが、本文部分がうまくいきません(Best regardsしか表示されません)。 どうすれば正しく反映されるでしょうか? シートのB1にToアドレスを記入していてTo_addressと名前付 以下、Cc_addressとSubjectも同様にしています。 本文の文章は何行かあり、途中で空白行も入れたいのですが、そこまでまだ手がつけられていません。 本文の文章が3行あるとすると、このマクロではComment1、Comment2、Comment3と名前付しています。 Sub SendEmail() Dim OlApp As Outlook.Application Dim mItem As Outlook.MailItem Dim cell As Range Dim Subj As String Dim EmailAddr As String Dim Recipient As String Dim Msg As String Dim Message As String Dim Sender As String Dim Comments As String Dim Comments2 As String Dim report As String Worksheets("Sheet1").Activate 'Create Outlook object  Set OutlookApp = New Outlook.Application 'Get the data Subj = Range("Subject") EmailAddr = Range("To_address") CCAddr = Range("Cc_address") Body = Range("Comment1") & ("Comment2") & ("Comment3") 'Compose message Msg = Msg & Comment1 & vbCrLf & vbCrLf Msg = Msg & Comment2 & vbCrLf & vbCrLf Msg = Msg & "Best regards," & vbCrLf & vbCrLf 'Create Mail Item Set mItem = OutlookApp.CreateItem(olMailItem) With mItem .To = EmailAddr .CC = CCAddr .BCC = BCCAddr .Subject = Subj .Body = Msg .Display End With End Sub 宜しくお願い致します。

専門家に質問してみよう