予定表アイテムなど .CreateItemでメール以外のアイテムを作成
Outlookって、メールだけじゃなくて、イロイロな機能があります。
ってことで、下記質問が来たので、.CreateItem の タイプを調べてみました。
>VBAでOutlookの操作についてですが、予定表の内容を取得するマクロの
>記述はよく見かけますが、逆に予定表に予定を登録する方法があまりみ
>あたりません。
>具体的にどんな方法で行えばよいのでしょうか、ご教授願います。
確かに、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
↑動画、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
を見てください。
何かの参考となれば幸いです。
調子こいて、動画作りながら探るのは止めようと思いつつ、失礼します。