ここから本文です

VBSでOutlookの予定表に予定を追加する

kim********さん

2012/3/2616:00:52

VBSでOutlookの予定表に予定を追加する

VBS初心者です。
Outlookで予定表を2つ使ってまして、下記のコードを実行すると、
お目当ての予定表ではなく、別の予定表に書き込まれています。
予定表を指定して書き込む方法を教えていただけないでしょうか。


Const olAppointmentItem = 1

Set objOutlook = CreateObject("Outlook.Application")
Set objAppointment = objOutlook.CreateItem(olAppointmentItem)

objAppointment.Start = #3/28/2012 11:00 AM#
objAppointment.Duration = 60
objAppointment.Subject = "Scripting Guys Planning Session"
objAppointment.Body = "Meet with Scripting Guys to discuss upcoming plans."
objAppointment.Location = "44/2039"
objAppointment.ReminderMinutesBeforeStart = 15
objAppointment.ReminderSet = True

objAppointment.Save

閲覧数:
1,946
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

ato********さん

編集あり2012/3/2710:35:08

デフォルトではない予定表にアイテムを追加する場合はフォルダーオブジェクトを指定してItems.Addで処理します
CreateItemではデフォルトの予定表にしか作成できません(まぁやり方を知らないだけかもしれないですが)

’フォルダーの階層が分かるならこんな感じ(わからなければ調べて)
Set myFolder = Application.Session.Folders("個人用フォルダ")
Set objAppointment= myFolder.Folders(5).Folders(1).Items.Add("IPM.Appointment")
#デフォルトの予定表の下階層に別の予定表があるはずなのでそれを指定してItems.Addで予定アイテムを作成

'フォルダーのEntryIdが分かるならこんな感じ
Set objAppointment= Application.Session.GetFolderFromID("ID指定").Items.Add("IPM.Appointment")
#EntryIdが分かれば階層無視して直接指定可能

まぁ、どんなロジックかわからないのでどちらが有効なのかはわかりませんが

、、でできるはず(ってVBSでできるかどうかはシラネ)

EntryIDはこんな感じで調べられる
Sub test()
Set myFolder = Application.Session.Folders("個人用フォルダ")
'予定表直下の予定表の存在調査
For Each obj In myFolder.Folders
If obj.Name = "予定表" Then
For Each obj2 In obj.Folders
Debug.Print obj2.Name & ":" & obj2.EntryID
Next
End If
Next
End Sub

質問した人からのコメント

2012/3/28 14:47:28

ありがとうございます。助かりますm(_ _)m 一度試してみます。

ベストアンサー以外の回答

1〜1件/1件中

por********さん

2012/3/2618:09:48

こんにちは。
このサンプルコード、
Set objAppointment = objOutlook.CreateItem(olAppointmentItem)
この行で、「新規作成」している、となってます。

さて、webのサンプルコードだと、
http://www.ken3.org/cgi-bin/group/vba_outlook.asp
にある、outlookのアイテムを探す部分は、「受信トレイ」ですが、
「予定表」にしたらいいということです。引数は
olFolderCalendar 9 予定表フォルダ。 です。
Set oFolder = oNamespace.GetDefaultFolder(olFolderInbox) '受信トレイを指定
を修正したらいいです。

VBSは、引数の部分が、直接数値にしないといけないので、まずは、outlookで仕上げてから、
VBSにしてください。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる