三流君 ken3のmemo置き場

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

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

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

04/25 VBA Outlook CreateITEM を 探った。予定表アイテムの作成。

予定表アイテムなど .CreateItemでメール以外のアイテムを作成
Outlookって、メールだけじゃなくて、イロイロな機能があります。
ってことで、下記質問が来たので、.CreateItem の タイプを調べてみました。

>VBAOutlookの操作についてですが、予定表の内容を取得するマクロの
>記述はよく見かけますが、逆に予定表に予定を登録する方法があまりみ
>あたりません。
>具体的にどんな方法で行えばよいのでしょうか、ご教授願います。

確かに、Outlookって、資料や参考ページ少ないですね。
少し調べてみました。

.CreateItem(0) で メールのアイテムが作れます。
この 0 が定数で、この定数を予定表にすればアイテムを作れます。

olAppointmentItem 1 予定表
olContactItem 2 連絡先
olDistributionListItem 7 配布リスト
olJournalItem 4 履歴
olMailItem 0 メール
olNoteItem 5 メモ
olPostItem 6 投稿
olTaskItem 3 仕事

なので、
olAppointmentItem
の1を指定すれば、なんとか作れそうです。
※なんて、簡単に書きましたが、ここまで調べるのにかなりハマりました。
http://www.youtube.com/watch?v=whX_FeZ5Bd0

www.youtube.com

↑動画、YouTube見れる環境なら↓を見て、笑ってください。

予定のアイテムを作る oApp.CreateItem(1) olAppointmentItem=1
おっと、肝心のサンプルを忘れてた。

Sub OL_TEST_0425()  'Excel VBA から OutLookを起動して 予定のアイテムを作る

    Dim oApp As Object
    Dim myNameSpace As Object
    Dim myFolder As Object

    Dim strMOJI As String '本文

    Dim objITEM As Object

    'outlook 起動
    Set oApp = CreateObject("Outlook.Application")

    Set myNameSpace = oApp.GetNamespace("MAPI")
    Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダーを指定
    myFolder.Display  '表示 いつものクセで .Visible = True とやりがちだけど


    'アイテムの作成
    Set objITEM = oApp.CreateItem(1) 'olAppointmentItem=1 直値はいけないと思いつつ、
    objITEM.Display   '画面表示(、編集画面を表示)

    'プロパティなどをセットする。
    objITEM.Subject = "件名です"
    objITEM.body = "本文ですよ"
    'objITEM.Save     '保存
    'objITEM.Close 2  '閉じる

End Sub 

↑、
Set objITEM = oApp.CreateItem(1) 'olAppointmentItem=1
で、予定表、アポの1 を渡して、作成して、あとは、

'プロパティなどをセットする。
objITEM.Subject = "件名です"
objITEM.body = "本文ですよ"

その後、保存や閉じるなど 動作のメソッドを発行、
objITEM.Save '保存
objITEM.Close 2 '閉じる
そんなパターンかなぁ。

他の予定表を取り出すサンプルページを見たりして、
objITEM.Subject = "件名です"
objITEM.body = "本文ですよ"
上記のようなプロパティなどを探って、値をセットしてみてください。

続きは

三流君 Outlook Appointment 予定表を操作する
http://www.ken3.org/cgi-bin/group/vba_outlook_Appointment.asp

を見てください。

何かの参考となれば幸いです。

調子こいて、動画作りながら探るのは止めようと思いつつ、失礼します。

Ken3 ホームページ 目次

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

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



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