AppointmentItem オブジェクト
本ページには広告が含まれています。
- Outlook
メソッド
<表示切り替え>- ClearRecurrencePattern
- Close
- Copy
- CopyTo
- Delete
- Display
- ForwardAsVcal
- GetConversation
- GetOrganizer
- GetRecurrencePattern
- Move
- PrintOut
- Respond
- Save
- SaveAs
- Send
- ShowCategoriesDialog
プロパティ
<表示切り替え>- Actions
- AllDayEvent
- 終日予定ならばTrueを返します。
- Application
- Attachments
- AutoResolvedWinner
- BillingInformation
- Body
- 予定の本文を取得または設定します。
- BusyStatus
- Categories
- Class
- Companies
- Conflicts
- ConversationID
- ConversationIndex
- ConversationTopic
- CreationTime
- DownloadState
- Duration
- End
- 予定の終了日時を取得または設定します。
- EndInEndTimeZone
- EndTimeZone
- EndUTC
- EntryID
- ForceUpdateToAllAttendees
- FormDescription
- GetInspector
- GlobalAppointmentID
- Importance
- InternetCodepage
- IsConflict
- IsRecurring
- ItemProperties
- LastModificationTime
- Location
- 予定表の「場所」を取得または設定します。
- MarkForDownload
- MeetingStatus
- MeetingWorkspaceURL
- MessageClass
- Mileage
- NoAging
- OptionalAttendees
- Organizer
- OutlookInternalVersion
- OutlookVersion
- Parent
- PropertyAccessor
- Recipients
- RecurrenceState
- ReminderMinutesBeforeStart
- 予定開始前にリマインダーが発生する時間を分単位で取得もしくは設定します。
- ReminderOverrideDefault
- ReminderPlaySound
- ReminderSet
- リマインダーを取得もしくは設定します。
- ReminderSoundFile
- ReplyTime
- RequiredAttendees
- Resources
- ResponseRequested
- ResponseStatus
- RTFBody
- Saved
- SendUsingAccount
- Sensitivity
- Session
- Size
- Start
- 予定の開始日時を取得または設定します。
- StartInStartTimeZone
- StartTimeZone
- StartUTC
- Subject
- 予定表の「件名」を取得または設定します。
- UnRead
- UserProperties
AppointmentItem オブジェクト を返すメソッド・プロパティ
- Outlook.AppointmentItem
- Items オブジェクトからItemオブジェクトを返します。
- Application.CreateItem メソッド
- 新しいOutlookのアイテムを表すオブジェクトを作成します。
プログラム実行例
予定データをExcelから読み込み追加する(Outlook)
[download "/example/625/予定一覧.xlsx"]
CONST xlUp = -4162
CONST olAppointmentItem = 1
HASHTBL reminders
reminders["なし"] = -1; reminders["0分"] = 0; reminders["5分"] = 5
reminders["10分"] = 10; reminders["15分"] = 15; reminders["30分"] = 30
reminders["1時間"] = 60; reminders["2時間"] = 120; reminders["3時間"] = 180
reminders["4時間"] = 240; reminders["5時間"] = 300; reminders["6時間"] = 360
reminders["7時間"] = 420; reminders["8時間"] = 480; reminders["9時間"] = 540
reminders["10時間"] = 600; reminders["11時間"] = 660; reminders["0.5日"] = 720
reminders["18時間"] = 1080; reminders["1日"] = 1440; reminders["2日"] = 2880
reminders["3日"] = 4320; reminders["4日"] = 5760; reminders["1週"] = 10080
reminders["2週"] = 20160
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Open("D:\Desktop\予定一覧.xlsx")
DIM MaxRow = Excel.Cells(Excel.Rows.Count, 1).End(xlUp).Row
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM AppointmentItem = Outlook.CreateItem(olAppointmentItem)
FOR row = 2 TO MaxRow
PRINT row
WITH AppointmentItem
.Subject = Excel.Cells(row, 2).Value // 件名
.Location = Excel.Cells(row, 3).Value // 場所
.Start = Excel.Cells(row, 4).Value // 開始時刻
.End = Excel.Cells(row, 5).Value // 終了時刻
IF Excel.Cells(row, 6).Value = "○" THEN .AllDayEvent = TRUE // 終日
IFB reminders[Excel.Cells(row, 7).Value] <> -1 THEN
.ReminderSet = TRUE
.ReminderMinutesBeforeStart = reminders[Excel.Cells(row, 7).Value] // リマインダー
ELSE
.ReminderSet = FALSE
ENDIF
.BusyStatus = 1 // 公開方法
.Body = Excel.Cells(row, 8).Value // 本文
.Save
ENDWITH
NEXT
MSGBOX((MaxRow - 1) + "件の予定を登録しました。")
Outlook.Quit
Excel.Quit
解説(自動生成)
- 1行目
- 定数xlUpを定義し、-4162を割り当てます。
- 2行目
CONST olAppointmentItem = 1
定数olAppointmentItemを定義し、1を割り当てます。- 4行目
- 5行目
reminders["なし"] = -1; reminders["0分"] = 0; reminders["5分"] = 5
- 6行目
reminders["10分"] = 10; reminders["15分"] = 15; reminders["30分"] = 30
- 7行目
reminders["1時間"] = 60; reminders["2時間"] = 120; reminders["3時間"] = 180
- 8行目
reminders["4時間"] = 240; reminders["5時間"] = 300; reminders["6時間"] = 360
- 9行目
reminders["7時間"] = 420; reminders["8時間"] = 480; reminders["9時間"] = 540
- 10行目
reminders["10時間"] = 600; reminders["11時間"] = 660; reminders["0.5日"] = 720
- 11行目
reminders["18時間"] = 1080; reminders["1日"] = 1440; reminders["2日"] = 2880
- 12行目
reminders["3日"] = 4320; reminders["4日"] = 5760; reminders["1週"] = 10080
- 13行目
reminders["2週"] = 20160
- 15行目
DIM Excel = CREATEOLEOBJ("Excel.Application")
変数Excelを宣言し、Excel オブジェクトを代入します。- 16行目
- Excel オブジェクトを表示します。
- 17行目
DIM Workbook = Excel.Workbooks.Open("D:\Desktop\予定一覧.xlsx")
変数Workbookを宣言し、右辺の結果を代入します。- 19行目
DIM MaxRow = Excel.Cells(Excel.Rows.Count, 1).End(xlUp).Row
変数MaxRowを宣言し、右辺の結果を代入します。- 21行目
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
変数Outlookを宣言し、Outlook オブジェクトを代入します。- 22行目
DIM AppointmentItem = Outlook.CreateItem(olAppointmentItem)
変数AppointmentItemを宣言し、右辺の結果を代入します。- 24、42行目
FOR row = 2 TO MaxRow
…
NEXT
- 25行目
- 26、41行目
WITH AppointmentItem
…
ENDWITH
- 27行目
.Subject = Excel.Cells(row, 2).Value // 件名
- 28行目
.Location = Excel.Cells(row, 3).Value // 場所
- 29行目
.Start = Excel.Cells(row, 4).Value // 開始時刻
- 30行目
.End = Excel.Cells(row, 5).Value // 終了時刻
- 31、37行目
IF Excel.Cells(row, 6).Value = "○" THEN .AllDayEvent = TRUE // 終日
…
ENDIF
- 32、37行目
IFB reminders[Excel.Cells(row, 7).Value] <> -1 THEN
…
ENDIF
- 33行目
- 34行目
.ReminderMinutesBeforeStart = reminders[Excel.Cells(row, 7).Value] // リマインダー
- 35行目
- 36行目
- 38行目
.BusyStatus = 1 // 公開方法
- 39行目
.Body = Excel.Cells(row, 8).Value // 本文
- 40行目
- 44行目
MSGBOX((MaxRow - 1) + "件の予定を登録しました。")
- 46行目
- 47行目
- Excel オブジェクトを終了します。
参考文献
- AppointmentItem ãªãã¸ã§ã¯ã (Outlook) | Microsoft Learn
関連記事
- Account オブジェクト
- Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
- Accounts オブジェクト
- 現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
- Application オブジェクト
- Outlookアプリケーション全体を表します。
- Folder オブジェクト
- Folders オブジェクト
- Items オブジェクト
- MailItem オブジェクト
- メールメッセージを表します。
- NameSpace オブジェクト
- Outlookのメールや予定表、連絡先といった様々なデータにアクセスすることができます。
- Recipient オブジェクト
- TaskItem オブジェクト