本ページには広告が含まれています。
目次
新しいOutlookのアイテムを表すオブジェクトを作成します。
- 構文
- Object = Application.CreateItem( ItemType )
- 引数
- ItemType 省略可
- olitemtypeを指定。以下を参照。
- 戻り値
- olAppointmentItem
- AppointmentItem オブジェクト
- olContactItem
- Outlook.CreateItem
- olDistributionListItem
- Outlook.CreateItem
- olJournalItem
- Outlook.CreateItem
- olMailItem
- MailItem オブジェクト
- olMobileItemMMS
- Outlook.CreateItem
- olMobileItemSMS
- Outlook.CreateItem
- olNoteItem
- Outlook.CreateItem
- olPostItem
- Outlook.CreateItem
- olTaskItem
- TaskItem オブジェクト
Application オブジェクトを返すメソッド・プロパティ
- Application.CreateItem メソッド
- Outlookアプリケーションの親を表すApplication オブジェクトを返します。
定数一覧
OlItemType 列挙
名前 | 値 | 説明 |
---|---|---|
olMailItem | 0 | メール |
olAppointmentItem | 1 | 予定表 |
olContactItem | 2 | 連絡先 |
olTaskItem | 3 | タスク |
olJournalItem | 4 | 履歴 |
olNoteItem | 5 | メモ |
olPostItem | 6 | 投稿 |
olDistributionListItem | 7 | 連絡先グループ |
olMobileItemSMS | 11 | SMS |
olMobileItemMMS | 12 | MMS |
CONST olMailItem = 0
CONST olAppointmentItem = 1
CONST olContactItem = 2
CONST olTaskItem = 3
CONST olJournalItem = 4
CONST olNoteItem = 5
CONST olPostItem = 6
CONST olDistributionListItem = 7
CONST olMobileItemSMS = 11
CONST olMobileItemMMS = 12
プログラム実行例
新しいタスクを追加(Outlook)
CONST olTaskItem = 3
CONST olImportanceHigh = 2
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM TaskItem = Outlook.CreateItem(olTaskItem)
WITH TaskItem
// 件名
.Subject = "件名"
// 開始日
.StartDate = "2019/09/07"
// 期限
.DueDate = "2019/09/10"
// アラーム
.ReminderSet = TRUE
// アラーム時間
.ReminderTime = "2019/09/07 09:00:00 PM"
// 進捗状況
.Status = 0
// 優先率
.Importance = olImportanceHigh
// 達成率
.PercentComplete = 90
// 本文
.Body = "本文"
// 保存
.Save
ENDWITH
使用関数
予定データを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
使用関数
HTMLメールを送信(Outlook)
HTMLメールの本文は長くなるので、TEXTBLOCKで定義して代入しています。
CONST olMailItem = 0
CONST olFormatHTML = 2
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM MailItem = Outlook.Application.CreateItem(olMailItem)
WITH MailItem
.BodyFormat = olFormatHTML
.Subject = "HTMLメールのテスト"
.HTMLBody = Body
.To = "contact@example.com" // 送信先
Account = Outlook.Session.Accounts.Item("info@example.com") // 送信元
.SendUsingAccount = Account
.Send
ENDWITH
TEXTBLOCK Body
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/a/EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="viewport" content="target-densitydpi=device-dpi,width=device-width,maximum-scale=1.0,user-scalable=yes">
<meta http-equiv="Content-Language" content="ja">
<meta charset="shift_jis">
<title></title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="600px">
<tr>
<td><img alt="画像" src="http://example.com/image.jpg" width="600px" style="width:600px;"></td>
</tr>
<tr>
<table border="1px" cellpadding="0" cellspacing="0" width="600px">
<tr>
<td width="50%">テキスト1</td>
<td width="50%">テキスト2</td>
</tr>
</table>
</tr>
</table>
</body>
</html>
ENDTEXTBLOCK
使用関数
解説
参考文献
- Application.CreateItem メソッド (Outlook) | Microsoft Learn
- OlDefaultFolders 列挙型 (Microsoft.Office.Interop.Outlook) | Microsoft Learn
関連記事
- Account オブジェクト
- Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
- Accounts オブジェクト
- 現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
- Application オブジェクト
- Outlookアプリケーション全体を表します。
- AppointmentItem オブジェクト
- 新しい予定を表すAppointmentItemオブジェクトを作成します。
- Folder オブジェクト
- Folders オブジェクト
- Items オブジェクト
- MailItem オブジェクト
- メールメッセージを表します。
- NameSpace オブジェクト
- Outlookのメールや予定表、連絡先といった様々なデータにアクセスすることができます。
- Recipient オブジェクト