• 締切済み

VB5.0 Outlookから自動でメールを送信する

VB5.0からItem.Sendで夜間バッチの処理結果を携帯電話のメールアドレスに送信しようとしています。 Dim objOL As Object Dim ObjMI As Object Set objOL = CreateObject("Outlook.Application") Set ObjMI = objOL .CreateItem(0) ObjMI.Subject = "タイトル" ObjMI.Body = "本文" ObjMI.To = "メールアドレス" ObjMI.Send 実行するとOutLookが起動し、「プログラムの自動的にメールを送信しようとする。よいか?」を問うメッセージが表示され、「はい」ボタンをクリックしなければ、メールを送ることができません。 これはウィルス等の対策だと思うのですが、先述したとおり、夜間バッチ処理の中でこの処理を実行したいので「はい」ボタンを押すことができません。 VBのプログラミング/Outlookの設定でこのメッセージを出なくするまたは、自動で「はい」ボタンをクリックする方法はありませんか。 または、他の方法をご存知の方ご教授ください。 よろしくお願い致します。

  • matyap
  • お礼率78% (116/147)

みんなの回答

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

#1に賛同 MAPI

参考URL:
http://oshiete1.goo.ne.jp/goo_search.php3?dummy=%A5%E1%A1%BC%A5%EB&MT=&TAB=&kw=mapi&c=257
  • ABC_DES
  • ベストアンサー率37% (10/27)
回答No.2

自動送信したければ、コマンドラインメールを使ってあげればどうでしょうか。起動はVBからしてあげればいいかと あとはご自分で調べて下さい

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

>または、他の方法をご存知の方ご教授ください。 過去ログ参照

関連するQ&A

  • 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

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

    アクセスからアウトルックでメールを送るために調べたのですが 新しいメッセージを作ってメールを送信するところまではできたのですが 送信ボタンを押下しても、どうやらアウトルックが開いてないと送信できないことがわかりました。 アウトルックは常に立ち上げていません。 なので下記のコードに、アウトルックを立ち上げるコードを入れたのですが わからないので教えていただけますか? 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です。ご教授よろしくお願いします。

  • VB.net 2008 でメールを送信するには。

    初めて質問します。 VB.net初心者です。 使用環境はVisual Studio2008でVB.netを使いフォームを作成し、その中にメール送付という ボタンを作り、それに下記のプログラムを書きました。 Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click Dim senderMail As String = "katsumi@aaa.bz"<--変更しています。 '宛先 Dim recipientMail As String = "katsumi@aaa.bz" '件名 Dim subject As String = "こんにちは" '本文 Dim body As String = "こんにちは。" Dim sc As New System.Net.Mail.SmtpClient() 'SMTPサーバーを指定する sc.Host = "smtp.aaa.bz" 'メールを送信する sc.Send(senderMail, recipientMail, subject, body) <---ここで止まる End Sub デバックを押すとホームまでは立ち上がります。 Button10をクリックすると sc.Send(senderMail, recipientMail, subject, body) の所で SmtpExceptionはハンドルされませんでした。 メールは送信されませんでした。 として黄色のバックカラーになります。 原因が判りません。 参照設定などに問題があるのでしょうか。 ご存知の方教えてください。

  • EXCELVBA メール送信について

    EXCELVBAで加工したデータをメールに添付して送信するツールを作成したいのですが、送信後保存ファイルを削除したい場合の方法分からす困っています。自身(?)を削除する事になるのでうまく動作しません。何方か良い方法があったらご指導を頂けないでしょうか? 宜しくお願いします。 Sub MailSend() Dim app As Object Dim objml As Object Dim moji As String Set app = CreateObject("Outlook.Application") Set objml = app.CreateItem(0) moji = "ご査収ください" objml.To = "xxxx@xxx.xxx.or.jp" '宛先 objml.Subject = "TEST" '件名 objml.Body = moji '本文の代入 objml.Attachments.Add "D:\My Documents\TEST.xls" objml.Send '送信   kill(TEST.xls) →※この部分がどのように処理して良いか分かりません End Sub

  • 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

  • メール自動送信の際の警告を出さない

    EXCEL2007とOutlook2007を使用しています。 私の既存の顧客2000名に対して 次のようなプログラムで、エクセルのメールリストから 複数のアドレスに自動で送信をしたいと考えています。 プログラムは無事動くのですが、 送信の際、1件ずつOutlookの方から 「プログラムによって電子メール メッセージが送信されようとしています。これが予期しない動作である場合は[拒否]をクリックして・・・」 という警告が表示されます。 いちいち「許可」をクリックしないと、次のメッセージ送信に進まないので、困っています これを出さずに、メッセージを送信したいのですが どのような設定をすればよいのでしょうか? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Sub Macro1() Dim objOutlook As Object Dim objMsg As Object Dim myAttachments As Object Dim sender As String sender = 1 Do Set objOutlook = CreateObject("Outlook.Application") Set objMsg = objOutlook.CreateItem(0) Set myAttachments = objMsg.Attachments objMsg.To = Range("G1").Offset(sender, 0).Value objMsg.Subject = Range("AA1").Value objMsg.Body = Range("AA2").Value & Chr(10) & Chr(10) & _ Range("AA3").Value & Chr(10) & _ Range("AA4").Value & Chr(10) & _ Range("AA5").Value objMsg.Send Range("G1").Offset(sender, 3).Value = "=now()" sender = sender + 1 Loop Until sender > Range("AB1").Value Set objOutlook = Nothing Set objMsg = Nothing Columns("J:J").Select Selection.Copy Columns("J:J").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End Sub \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  • エクセルからOUTLOOKでメール送信:2

    ●前回下記の質問を書かせていただきました。 ---------- エクセルに複数件のデータを記載してあります。 A列 に メールアドレス B列 に 件名 C列 に 本文A D列 に 本文B があるときに連続してメールを立ち上げ送信したいです。 いろいろ試してみましたが全く動きませんでした。 お手隙の際にでもお教え下さい。 マクロのサンプルソースがあると助かります。 よろしくお願いいたします。 ---------------- ●下記の回答をいただきメールの送信までは出来ました。 ---------------- Sub ボタン1_Click() Dim myOLApp As Object ' Dim myDATA As MailItem '### OUTLOOKのオブジェクトを作成後、メールを新規作成する。 Set myOLApp = CreateObject("Outlook.Application") For i=2 To 5 Set myDATA = myOLApp.CreateItem(olMailItem) '### メールの宛先、題名、本文、添付ファイルを設定する。 '(宛先のアドレス) myDATA.to = Range("A" & i).Value ' myDATA.CC = Range("D33").Value myDATA.Subject = Range("B" & i).Value myDATA.Body = Range("C" & i).Value & CHAR(10) & Range("D" & i).Value '### メールを送信 myDATA.Send Next '### お約束の後始末。 Set myDATA = Nothing Set myOLApp = Nothing End Sub こんな感じでしょうか。 For i=2 To 5 と 2行目から5行目です。 うまくいくようでしたら For i=2 To Range("A" &Rows.Count).End(xlUp).Row とでも変更してください。 なんといっても失敗すると大変なリスクが発生するプログラムです。 十分に実験してから運用してください。 ------------------------ ●メール送信は問題なくできておりましたが、  他のCSVリストよりエクセルにデータを引っ張ってきて  メールの送信を使用とした所 システムエラーです 80004005 エラーを特定できません。 と言ったエラーが出てくるようになりました。 多分他のシートから引っ張ってくる関数がジャマをしているとは思うのですが、 何かこのエラーを回避する方法はございますでしょうか? お教え下さい。

  • 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 宜しくお願い致します。

  • マクロで携帯にメール送信

    いつもお世話になっております。 過去に何度か質問をさせていただき、今回のマクロまでたどり着くことが出来ました。 下記の内容にて、作成しました。 ここで、 (1)セルB1にあて先メアドを置いた場合に、メアドを載せる場合 (2)メールを送信する命令で、【myItem.Send】や【SendMail】ではメールが送信されている場合と送信待機の場合がはっせいしております。必ず、送信するまでの命令を、お教えいただきたいです。 PC環境は、XPです。 メールはMicrosoft Office Outlookです。 Sub CreateMail() '参照設定 : Miscosoft Outlook 9.0Object Library Const ShName = "MAIL送信" Const SbjAdd = "b2" Const BodyAdd = "b3:b14" Dim olApp As Outlook.Application Dim objMail As Outlook.MailItem Dim Rng As Range Dim StrBody As String Set olApp = Outlook.Application Set objMail = olApp.CreateItem(olMailItem) For Each Rng In Range(BodyAdd) StrBody = StrBody & Rng.Value & vbLf Next Rng With objMail .Subject = Worksheets(ShName).Range(SbjAdd).Value .Body = StrBody .Display End With End Sub

  • excel2010でのCreateObject

    OS:Windows7Pro Office:オフィス2010 Excel2007で作成したメール一括送信プログラムがExcel2010でエラーが発生します。 CreateObject メソッドを使用して Outlook Application オブジェクトを作成する際に 「実行時エラー'429' ActiveXコンポーネントはオブジェクトを作成できません。」 と表示されます。デバッグ画面では Dim myOLApp As Object Dim myDATA As MailItem '### OUTLOOKのオブジェクトを作成後、メールを新規作成する。 Set myOLApp = CreateObject("Outlook.Application")   Set myDATA = myOLApp.CreateItem(olMailItem) の Set myOLApp = CreateObject("Outlook.Application")  この部分でエラーになっています。 VB6.0SP6ランタイムのインストールをしましたが状況は変化しません。 Excel2007では正常に動作します。 どこを修正すればよいのでしょう? ご教授いただけると幸いです。宜しくお願いいたします。

専門家に質問してみよう