Sub MyOlMail() Rem *----*----* *----*----* *----*----* *----*----* Rem 電子メール作成送信処理 Rem 作譜:Hitrock Camellia Shinopy Rem 言語:Outlook VBA Rem 機能... Rem 決まった内容の電子メール新規作成し送信する。 Rem 注記... Rem 1. Microsoft Outlook上で、下記の手作業による事前設定が必要。 Rem Microsoft Outlookのメニューバーの[ツール]から[オプション...]をクリックし、 Rem [メール形式]タブの[電子メールの編集にMicrosoft Wordを使用する]チェックボックスを Rem オンにする。 Rem (マクロでの変更は不可。変更しようとすると、[送信]ボタンが機能しなくなる。 Rem 「myMail.FormDescription.UseWordMail = True」の箇所) Rem 2. 警告なしに送信する。 Rem 履歴... Rem 第1版:2006/05/29:作成。 Rem 第2版:2006/06/11:Microsoft Wordでの手作業による事前設定が不要になるよう修正した。 Rem 第3版:2006/06/15:[電子メールの編集にMicrosoft Wordを使用する]オフ時の警告表示を追加した。 Rem *----*----* *----*----* *----*----* *----*----* ' Dim myMail As Variant ' MailItem←VotingOptionsを指定すると、なぜか異常終了するため。 Dim myMsg As String Dim myCmmdBar As CommandBar Dim myCtrl As CommandBarControl Rem *----*----* *----*----* *----*----* *----*----* ' Set myMail = Application.CreateItem(olMailItem) With myMail Rem myMail.FormDescription.UseWordMail = True ' ←不可 .Subject = "マクロからのサンプルメッセージ" .VotingOptions "はい!;いいえ!" .To = "xxxxxx@xxxxx.ne.jp" ' "xxxxxxxx@msn.com" .Body = "テキストを自動的に追加する。" .FlagRequest = "凄い!" .Importance = olImportanceHigh ' = 2 Rem 0 = olImportanceLow / 1 = olImportanceNormal Rem メッセージ形式... Rem テキスト形式の場合、書式設定(文字色・蛍光ペン書式など)は無効になる。 .BodyFormat = olFormatPlain ' olFormatHTML .Display End With Rem *----*----* *----*----* *----*----* *----*----* ' If Application.ActiveInspector.IsWordMail = False Then myMsg = "[電子メールの編集にMicrosoft Wordを使用する]の" & vbCrLf myMsg = myMsg & "設定がオンになっていません。" MsgBox myMsg myMail.Close olDiscard Set myMail = Nothing Exit Sub End If ' On Error Resume Next Application.ActiveInspector.CommandBars("Zzz").Delete On Error GoTo 0 ' Set myCmmdBar = Application.ActiveInspector.CommandBars.Add(Name:="Zzz", Position:=msoBarPopup, Temporary:=True) With myCmmdBar.Controls Set myCtrl = .Add(Type:=msoControlButton, ID:=3708) Rem 電子メールの編集にMicrosoft Wordを使用しない場合、 Rem 処理不能。↓「'Execute'メソッドは失敗しました。」になる。 Rem Set myCtrl = myCmmdBar.FindControl(ID:=5469) ' 送信 Rem Set myCtrl = myCmmdBar.FindControl(ID:=2617) ' 送信 With myCtrl .Caption = "送信" .DescriptionText = "電子メールの送信コマンドを実行します。" .Execute End With End With myCmmdBar.Delete Rem *----*----* *----*----* *----*----* *----*----* ' Set myMail = Nothing Set myCmmdBar = Nothing Set myCtrl = Nothing End Sub ' MyOlMail *----*----* *----*----* *----*----* *----*----*