www.youtube.com
http://www.youtube.com/watch?v=NWJ0ognXPTU
ソースは 2/2 未完成 VBA OutLook で メール本文を作成して、署名を追加するサンプル
http://ken3-info.blog.ocn.ne.jp/day/2009/02/22_vba_outlook_4a33.html
を見てください。
VBA OutLook で メール本文を作成して、署名を追加するサンプル
を作成中、ですが、
署名が頭に挿入されてしまった、そんなダメ サンプル コードです。。。
※はやいところ 修正しないとなぁ。
下記 Excel2003 Outlook2003 の サンプルです。何かの参考となれば幸いです。
Sub MAKE_MAIL_ITEM222() Dim oApp As Object Dim myNameSpace As Object Dim myFolder As Object Dim objMAIL As Object 'メールのオブジェクト Dim strMOJI As String '本文 'outlook 起動 Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダーを指定 myFolder.Display '表示 いつものクセで .Visible = True とやりがちだけど 'メールアイテムの作成 Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 直値はいけないと思いつつ、 '宛先・件名・本文 などのデータを代入する objMAIL.To = "test@ken3.org" '宛先 ほかに.cc や.Bccも可能です objMAIL.Subject = "テスト メールの件名です " '.Subjectに文字列設定で件名 '本文を作る、(vbCrLfで改行されます) strMOJI = "こんにちは(このメールtestアドレスなので質問は別便で)" & vbCrLf _ & " ここで 文字列を作って .Bodyに代入する" & vbCrLf _ & " メールアイテムが作成されたらその後、 " & vbCrLf _ & " .save 下書きへ保存 や .sendで送信(確認が出る)" & vbCrLf _ & " 今回は、.Display で メール作成画面を表示" & vbCrLf _ & Now() & "作成" objMAIL.Body = strMOJI '本文の代入 DoEvents objMAIL.Display '途中で編集したい時(メール編集画面を表示してみた) DoEvents
'署名を入れる '署名のコマンドバーを探し、実行する Dim oCBs As Object '上級者に怒られるけど object型 正解はAs Office.CommandBarsだけど Dim oCtl As Object '正解は Office.CommandBarControl かな '今起動中のobjMAIL(メール作成中)のコマンドバーを取り出すよ Set oCBs = objMAIL.GetInspector.CommandBars 'ループで署名の文字を探す、、、 Dim I As Long 'カウンター For I = 1 To 35000 'コントロール I 番目を取り出す Set oCtl = oCBs.FindControl(, I) If Not (oCtl Is Nothing) Then 'オブジェクトが空じゃなければ '文字列でコマンド名を比較する Debug.Print ".Caption " & oCtl.Caption If oCtl.Caption = "署名(&S)" Then 'ここで、octlを実行したいなぁ。ってことで 'っと、その前に、どの署名か?判断が必要なのかなぁ。 Dim oCtlSUB As Object 'その下を探るので勝手にSUBを作った。 For Each oCtlSUB In oCtl.Controls '署名の下でまわす Debug.Print "sub .Caption" & oCtlSUB.Caption If oCtlSUB.Caption = "TESTです。" Then oCtlSUB.Execute ' ↑で見つけた署名を実行 Exit For 'もう実行したので 抜ける、これ以上はループしないでいいので。 End If Next Exit For 'もう実行したので 抜ける、これ以上はループしないでいいので。 End If End If Next '↑が見つからなかった時の処理や、エラー処理が無いなぁ '※、オイオイ、オブジェクトの後始末もしないのかよ。 'サンプルだからって、手を抜きすぎ、、、 'ここで、普通はオブジェクトの開放など、後始末をする。
End Sub
ソースは 2/2 未完成 VBA OutLook で メール本文を作成して、署名を追加するサンプル
http://ken3-info.blog.ocn.ne.jp/day/2009/02/22_vba_outlook_4a33.html
を見てください。
カテゴリ: 科学と技術