いつもお世話になっております。
過去に何度か質問をさせていただき、今回のマクロまでたどり着くことが出来ました。
下記の内容にて、作成しました。
ここで、
(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
No.2ベストアンサー
- 回答日時:
こんにちは。
今のコードで、どこで、たぶん、Outlook が、どこでリターンコードを発生させるか、もしくは、エラーコードを取るかということになるのだろうけれども、一般的に、こちらでは、あまりOutlook 自体を使っている人はいません。出来ないというのではなくて、ダイアログボックスが立ち上がってしまうので、そこで手動になってしまうからなのですが。
>必ず、送信するまでの命令を
セルに、SendMail の戻り値 0 をおくようにするわけで、Loop し、途中に、Wait などを儲けて、全てが、0 または、Boolean値のTrue になるまで繰り返す、ということになるのではないか、と思います。
質問者さんのログを見てみると、最近、BASP21 を勧めてくれた人がいたようですね。
どうも、そちらには移行しなかったようですね。
今、そのBASP21 の SENDMAIL の内容を調べてみました。
http://www.hi-ho.ne.jp/babaq/bacs1.html
SendMailメソッド
ret = bacs1.SendMail(mailto, names & "様" & vbCrLf)
ここですと、戻り値得られます。もちろん、本質的には、SendMail でも同じなのですが、機能的には、こちらのほうが上というよりも、便利なのですね。
もう一度、こちら側で考えられませんでしょうか?
なお、全体を入れるなら、インストールになりますが、単体ですと、確か、呼び出しが出来たように思います。もしも、会社の規定があれば、やむを得ず、Outlook側でせざるを得ないですが。
Declare Function SendMail Lib "bsmtp" _
(szServer As String, szTo As String, _
szFrom As String, szSubject As String, szBody As String, szFile As String) As String
レス、ありがとうございます。
PCの使用環境が、やはり会社で個々のPCを利用するので、様々なアイテムをダウンロード&インストールが難しいのです。
今回は、手間になりますが、手動で送受信を行うことにします。
ありがとうございました。
No.1
- 回答日時:
こんにちは。
VBAでメール送信なら以下のサイトが参考になります。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
そのままダウンロードして利用可能です。
レス、ありがとうございます。
PCの使用環境が、やはり会社で個々のPCを利用するので、様々なアイテムをダウンロード&インストールが難しいのです。
今回は、手間になりますが、手動で送受信を行うことにします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
免許証などの画像を、ネット上...
-
好きな人にLINEを送って、4時間...
-
本日、メッセージを送信した覚...
-
「FAX送信票」と「FAX送信表」...
-
フィードバック送信のボタンを...
-
送信済みのメールを利用して、...
-
thunderbird 送信画面が100%で...
-
指定のWORKBOOKを前面表示する...
-
Wordの差し込み印刷でメー...
-
1通のメールが相手に大量に送信...
-
Yahoo!メールで送信エラーとな...
-
サンダーバードメール送信につ...
-
Microsoft Outlookの一括送信...
-
Simejiのアプリについて。 使っ...
-
表と票の違い
-
メール自動送信の際の警告を出...
-
ソフトバンクからワイモバイル...
-
SMSで空メールを送ることってで...
-
Lotus Notes 6.5 のメール機能...
-
Outlookでの時間指定送信機能に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
免許証などの画像を、ネット上...
-
好きな人にLINEを送って、4時間...
-
本日、メッセージを送信した覚...
-
「FAX送信票」と「FAX送信表」...
-
送信済みのメールを利用して、...
-
フィードバック送信のボタンを...
-
表と票の違い
-
指定のWORKBOOKを前面表示する...
-
1通のメールが相手に大量に送信...
-
thunderbird 送信画面が100%で...
-
Wordの差し込み印刷でメー...
-
一目惚れして声掛けた二個下の...
-
Gmailの配信未完了とはどういう...
-
フィードバック送信
-
Googleのフィールドバック送信...
-
よく、フィールドバックの送信...
-
Excel VBA Outlook送信済メール...
-
Outlook2003でAlt+Sで送信を無...
-
Access VBAでメール自動送信
-
Gmailで添付ファイルを送りたい...
おすすめ情報