本ページには広告が含まれています。
指定されたアイテムのすべての添付ファイルを表す Attachments オブジェクトを返します。
- 構文
- Attachments = MailItem.Attachments
- 引数
MailItem オブジェクトを返すメソッド・プロパティ
- MailItem.Attachments プロパティ
- Items オブジェクトからItemオブジェクトを返します。
- Application.CreateItem メソッド
- 新しいOutlookのアイテムを表すオブジェクトを作成します。
プログラム実行例
指定期間に受信したメールの添付ファイルをすべて保存(Outlook)
CONST olFolderInbox = 6
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox)
DIM Items = Folder.Items
DIM start = "2021/01/01"
DIM end = "2021/01/31"
Items = Items.Restrict("[ReceivedTime] >= '" + start + "' AND [ReceivedTime] <= '" + end + "'")
DIM folderspec = "D:\Desktop\Outlook\"
CreateFolders(folderspec)
DIM row = 1
FOR MailItem IN Items
FUKIDASI(row + "/" + Items.Count)
FOR i = 1 TO MailItem.Attachments.Count
DIM Attachment = MailItem.Attachments.Item(i)
DIM path = folderspec + Attachment
path = uniqueFilename(path)
Attachment.SaveAsFile(path)
PRINT path
NEXT
row = row + 1
NEXT
//////////////////////////////////////////////////
// 【引数】
// folderspec : 作成するフォルダのパス
// 【戻り値】
//
//////////////////////////////////////////////////
PROCEDURE CreateFolders(folderspec)
WITH CREATEOLEOBJ("Scripting.FileSystemObject")
folderspec = .GetAbsolutePathName(folderspec)
IF !.DriveExists(.GetDriveName(folderspec)) THEN EXIT
DIM parentPath = .GetParentFolderName(folderspec)
IF !.FolderExists(parentPath) THEN CreateFolders(parentPath)
IF !.FolderExists(folderspec) THEN .CreateFolder(folderspec)
ENDWITH
FEND
//////////////////////////////////////////////////
// 【引数】
// path : ファイルのパス
// 【戻り値】
// 重複しないファイル名
//////////////////////////////////////////////////
FUNCTION uniqueFilename(path)
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB FSO.FileExists(path) THEN
DIM fol = FSO.GetParentFolderName(path)
DIM filename = FSO.GetBaseName(path)
DIM extension = FSO.GetExtensionName(path)
DIM i = 2
WHILE FSO.FileExists(FSO.BuildPath(fol, filename + " (" + i + ")." + extension))
i = i + 1
WEND
RESULT = FSO.BuildPath(fol, filename + " (" + i + ")." + extension)
ELSE
RESULT = path
ENDIF
FEND
使用関数
解説
メソッド
<表示切り替え>プロパティ
<表示切り替え>参考文献
関連記事
- MailItem オブジェクト
- メールメッセージを表します。
- Items.Restrict メソッド (Outlook)
- Items コレクションにフィルタを適用し、フィルタに一致する元のすべてのアイテムを含む新しいItems コレクションを返します。
- MailItem.BodyFormat プロパティ (Outlook)
- メール本文の形式を表すOlBodyFormatクラスの定数を取得または設定します。
- MailItem.To プロパティ (Outlook)
- Outlook アイテムの宛先の受信者の表示名一覧を表す、セミコロン(;)で区切られた文字列型(String) の一覧を設定します。
- MailItem.HTMLBody プロパティ (Outlook)
- メールのHTML形式の本文を表す文字列型の値を取得または設定します。
- MailItem.Parent プロパティ (Outlook)
- 指定したオブジェクトの親オブジェクトを返します。
- MailItem.ReceivedTime プロパティ (Outlook)
- アイテムを受信した日付と時刻を示す日付型(Date)の値を取得します。
- CDO.From プロパティ
- メッセージの差出人(From)を指定します。
- AppointmentItem オブジェクト
- 新しい予定を表すAppointmentItemオブジェクトを作成します。
- Folder オブジェクト