お世話になります。
現在、Excel VBA(Excel2010)で、Outlook2010を立ち上げて、添付のExcelの表のE列【GL承認日】に日付を入れると、日付書式を確認して、メールが送信されるVBAを作成しています。
そこで、下記のVBAの下の方にある「myMail.Send」でメールが送信されるようになっていて、メールが送信された後、Outlookの【送信済みフォルダ】に送信済みメールが入ります。
その送信済みメールを【送信済みフォルダ】に入ったら、完全に削除するようにしたいのですが、どのようにVBAを追加すれば宜しいでしょうか?
ご存知の方、是非ご教示宜しくお願い致します。
↓該当のExcel VBAです。
----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myOL As Object
Dim myMail As Object
Dim myBody As String
Dim n As Long
Dim mDate As Variant
On Error Resume Next
'GL承認日の列の日付書式指定
mDate = Array("yyyy/mm/dd")
'GL承認日の該当セルの日付書式を確認
For Each wz In mDate
'GL承認日の該当セルが空白でない場合は以下を処理
If Cells(Target.Row, Target.Column).Value <> "" Then
If InStr(Cells(Target.Row, Target.Column).NumberFormatLocal, wz) > 0 Then
'メールアプリケーションをOutlookに指定
Set myOL = GetObject(, "Outlook.Application")
On Error GoTo 0
If myOL Is Nothing Then
Set myOL = CreateObject("Outlook.Application")
myOL.getnamespace("MAPI").GetDefaultfFolder(6).display
End If
Set myMail = myOL.CreateItem(0)
'B、C行のセル位置を数値で取得
n = Cells(Target.Row, Target.Column).Row
'メール本文
myBody = "振替伝票入力のGL承認が " & Format(Cells(Target.Row, Target.Column).Value, "yyyy/mm/dd") _
& " に完了しました。" & vbNewLine & vbNewLine _
& "●振替伝票No: " & Range("C" & n).Value & vbNewLine & vbNewLine _
& "================================" & vbNewLine _
& " ▲▲部 ××グループ" & vbNewLine _
& "================================"
If Range("B" & n).Value = "ooo" Then
myMail.to = "ooo@***.co.jp"
'ElseIf Range("B" & n).Value = "qqq" Then
' myMail.To = "qqq@***.co.jp"
End If
'メールのタイトル、本文、本文の形式を指定
myMail.Subject = "【振替伝票 GL承認完了通知】"
myMail.Body = myBody
myMail.BodyFormat = 1 'テキスト形式
'メールを送信
myMail.Send
(↑此処でメールが【送信済みフォルダ】に入りますが、このタイミングで【送信済みフォルダ】に入ったメールを完全削除したいです。)
'変数をリセット
Set myMail = Nothing
Set myOL = Nothing
Else
Exit Sub
End If
End If
Next
Exit Sub
End Sub
No.1ベストアンサー
- 回答日時:
あまり検証していないのですが、
myMail.DeleteAfterSubmit = True
を
myMail.Send
の前に入れてみてはいかがでしょうか。
送信後に送信済みアイテムに入らずに消えると思います。
あるいは、たとえば削除済みアイテムに残したいなら、
myMail.DeleteAfterSubmit = True
のかわりに
Set myMail.SaveSentMessageFolder = myOL.getnamespace("MAPI").GetDefaultfFolder(3)
でいけると思います。
ご返信ありがとうございます!
myMail.DeleteAfterSubmit = true
を、Mymail.Send の前に入れてみましたところ、望み通りの動作が可能になりました。
(送信済みアイテムに入る事なく、消えました。)
大変助かりました、有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAでOutlookを終了させたい ExcelVBAで既に起動されているOutlookを終了させる
Visual Basic(VBA)
-
<EXCEL/VBA> OUTLOOKのウインドを閉じる方法
Visual Basic(VBA)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
6
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
7
OUTLOOKのメールアカウントの受信フォルダーへVBAでアクセスするには。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一目惚れして声掛けた二個下の...
-
免許証などの画像を、ネット上...
-
「FAX送信票」と「FAX送信表」...
-
好きな人にLINEを送って、4時間...
-
Wordの差し込み印刷でメー...
-
指定のWORKBOOKを前面表示する...
-
1通のメールが相手に大量に送信...
-
特定のアドレスへの送信を禁止する
-
フィードバック送信のボタンを...
-
表と票の違い
-
thunderbird 送信画面が100%で...
-
Access2010でメールの自動送信...
-
サンダーバードメール送信につ...
-
本日、メッセージを送信した覚...
-
Excel VBA Outlook送信済メール...
-
LINEで連続で送信取り消しする...
-
送信済みのメールを利用して、...
-
Yahoo!メールで送信エラーとな...
-
LINE送信取り消しについて
-
Outlookのツールバーから送信の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
好きな人にLINEを送って、4時間...
-
免許証などの画像を、ネット上...
-
本日、メッセージを送信した覚...
-
送信済みのメールを利用して、...
-
「FAX送信票」と「FAX送信表」...
-
フィードバック送信のボタンを...
-
セブン銀行って、相手から自分...
-
ソフトバンクからワイモバイル...
-
LINEで連続で送信取り消しする...
-
指定のWORKBOOKを前面表示する...
-
thunderbird 送信画面が100%で...
-
表と票の違い
-
至急! iPhoneの画像共有
-
1通のメールが相手に大量に送信...
-
Gmailで添付ファイルを送りたい...
-
Googleのフィールドバック送信...
-
Access VBAでメール自動送信
-
Excel VBA Outlook送信済メール...
-
サンダーバードメール送信につ...
-
毎月同じ日に自動送信してくれ...
おすすめ情報