[[20180326115734]] 『マクロ:送信トレイに保存』(あすな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ:送信トレイに保存』(あすな)

 マクロでメールを作成し、Outlookから送信しています。
 現在は、すぐ送信するコードになっていますが、Outlookの設定をそのままに、
 これを送信トレイに保存(?)するにはどうすればいいのでしょうか?
 いったん下書きとして、.Saveにするしかないでしょうか?
 よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows8 >


>マクロでメールを作成し、Outlookから送信しています。
ExcelのVBEで記述するとしても、outlook.Applicationの操作をしてる段階で、エクセルの質問じゃないじゃんってツッコミたくなるのは私だけでしょうか・・

とりあえず、コードの提示もないので、想像ですが、ご推察のとおり.send ってなってるところを、 .save に修正すればよいとおもいます。

※送ってないメールを送ったことにして送信済みアイテムに入れたいってことであれば、私にはわかりません。

がっつりoutlookを制御する話を聞きたいのであれば、こっちのほうがよいかもです。
http://www.moug.net/
(もこな2) 2018/03/26(月) 12:26


 「ファイル」タブ-「オプション」-「詳細設定」-
 「送受信」欄の「接続したら直ちに送信する」のチェックを外せばいいのでは?
(ろっくん) 2018/03/26(月) 12:58

 もこな2さん 
 ExcelのVBEで記述しているコードでも、Outlookを操作しているとVBEの記述内容聞いてはいけなかったんですね。知りませんでした。大変失礼いたしました。

 ろっくんさん
 Outlookの設定変更はすべてのメールに影響するので、VBEで作成したメールのみ、送信トレイに滞留させるコードが欲しかった次第です。ありがとうございました。
(あすな) 2018/03/26(月) 13:10

いや、私だけかもしれないけど、ここは「エクセル」に関する質問掲示板なので、実質的には「Outlook」に関する質問をするのはどうなのかな〜とおもっただけなんで、本当にダメなのかどうかは規約の解釈によりますね。まぁそんな風におもう人もいるってことで読み流して下さい。
(もこな2) 2018/03/26(月) 13:15

Sub main()
    Dim oapp As Object, MyNameSpace As Object, sendbox As Object, objitem As Object
    Set oapp = CreateObject("Outlook.Application")
    Set MyNameSpace = oapp.GetNameSpace("mapi")
    Set sendbox = MyNameSpace.GetDefaultFolder(4)
    Set objitem = oapp.CreateItem(0)
    objitem.Subject = "表題"
    objitem.To = "宛先"
    objitem.Body = "本文"
    objitem.Move sendbox
End Sub

(mm) 2018/03/26(月) 17:49


 mmさんありがとうございました!!!
 思った通りに、Outlookで設定しなくても送信BOXに滞留させることができました。
 Excel VBAのコードでも、他アプリケーションのコントロールは聞いてはいけないようなのに、
 助けていただいてありがとうございました。大変助かりました。
(あすな) 2018/03/30(金) 12:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.