三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

VBA OutLook で メール本文を作成して、署名を追加するサンプル

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
を見てください。

カテゴリ: 科学と技術

タグ: 三流君 VBA Code Outlook 署名 コマンドバー CommandBars

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)