三流君 ken3のmemo置き場

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

挨拶・自己紹介:「こんな感じ」や「あの、あの」と活舌の悪い、
三流プログラマーのオッサンです

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。

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

を見てください。

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

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


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~