本ページには広告が含まれています。
目次 [非表示]
現在のプロファイルで要求された種類の既定のフォルダーを表すFolder オブジェクトを返します。
- 構文
- Folder = NameSpace.GetDefaultFolder( FolderType )
- 引数
- FolderType 省略可
- OlDefaultFolders
NameSpace オブジェクトを返すメソッド・プロパティ
- Application.GetNamespace メソッド
- 指定した種類のNameSpace オブジェクトを返します。
定数一覧
OlDefaultFolders 列挙
名前 | 値 | 説明 |
---|---|---|
olFolderDeletedItems | 3 | 削除済みアイテムフォルダ |
olFolderOutbox | 4 | 送信トレイフォルダ |
olFolderSentMail | 5 | 送信済みアイテムフォルダ |
olFolderInbox | 6 | 受信トレイフォルダ |
olFolderCalendar | 9 | 予定表フォルダ |
olFolderContacts | 10 | 連絡先フォルダ |
olFolderJournal | 11 | 履歴フォルダ |
olFolderNotes | 12 | メモフォルダ |
olFolderTasks | 13 | 仕事フォルダ |
olFolderDrafts | 16 | 下書きフォルダ |
olPublicFoldersAllPublicFolders | 18 | Exchangeパブリックフォルダストア内のAll Public Foldersフォルダ。Exchangeアカウントの場合のみ。 |
olFolderConflicts | 19 | 競合フォルダ |
olFolderSyncIssues | 20 | 同期の失敗フォルダ。Exchangeアカウントの場合のみ。 |
olFolderLocalFailures | 21 | ローカルの失敗フォルダ。Exchangeアカウントの場合のみ。 |
olFolderServerFailures | 22 | サーバーの失敗フォルダ。Exchangeアカウントの場合のみ。 |
olFolderJunk | 23 | 迷惑メールフォルダ |
olFolderRssFeeds | 25 | RSSフィードフォルダ |
olFolderToDo | 28 | To Doフォルダ |
olFolderManagedEmail | 29 | 管理対象のフォルダグループの最上位フォルダ。 |
olFolderSuggestedContacts | 30 |
CONST olFolderDeletedItems = 3 CONST olFolderOutbox = 4 CONST olFolderSentMail = 5 CONST olFolderInbox = 6 CONST olFolderCalendar = 9 CONST olFolderContacts = 10 CONST olFolderJournal = 11 CONST olFolderNotes = 12 CONST olFolderTasks = 13 CONST olFolderDrafts = 16 CONST olPublicFoldersAllPublicFolders = 18 CONST olFolderConflicts = 19 CONST olFolderSyncIssues = 20 CONST olFolderLocalFailures = 21 CONST olFolderServerFailures = 22 CONST olFolderJunk = 23 CONST olFolderRssFeeds = 25 CONST olFolderToDo = 28 CONST olFolderManagedEmail = 29 CONST olFolderSuggestedContacts = 30
プログラム実行例
受信トレイに新しいフォルダを作成(Outlook)
CONST olFolderInbox = 6 DIM Outlook = CREATEOLEOBJ("Outlook.Application") DIM NameSpace = Outlook.GetNameSpace("MAPI") DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox) TRY Folder.Folders.Add("NewFolder") EXCEPT MSGBOX("フォルダを作成できませんでした。") ENDTRY
使用関数
指定期間に受信したメールを取得(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 = "2022/01/01" DIM end = "2022/01/31" Items = Items.Restrict("[ReceivedTime] >= '" + start + "' AND [ReceivedTime] < '" + end + "'") FOR MailItem IN Items WITH MailItem PRINT "受信日時:<#TAB>" + .ReceivedTime PRINT "件名:<#TAB><#TAB>" + .Subject PRINT "----------" ENDWITH NEXT
使用関数
指定期間のメール情報を取得(Outlook)
CONST olFolderInbox = 6 CONST xlTop = -4160 CONST xlLeft = -4131 DIM Excel = ExcelBoot() 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/02" Items = Items.Restrict("[ReceivedTime] >= '" + start + "' AND [ReceivedTime] < '" + end + "'") DIM array[][1] = "受信日時", "ReceivedTime", + _ "送信者メールアドレス", "SenderEmailAddress", + _ "送信者", "SenderName", + _ "CC", "CC", + _ "BCC", "BCC", + _ "件名", "Subject", + _ "本文", "Body", + _ "HTML本文", "HTMLBody" Excel.Application.ScreenUpdating = FALSE FOR i = 0 TO UBound(array) Excel.Cells(1, i + 1).Value = array[i][0] NEXT DIM row = 2 FOR MailItem IN Items FUKIDASI(row + "/" + Items.Count) WITH MailItem FOR i = 0 TO UBound(array) Excel.Cells(row, i + 1).Value = EVAL("." + array[i][1]) NEXT ENDWITH row = row + 1 NEXT WITH Excel.Range("A1").CurrentRegion .ColumnWidth = 20 .RowHeight = 30 .VerticalAlignment = xlTop .HorizontalAlignment = xlLeft ENDWITH Excel.Application.ScreenUpdating = TRUE ////////////////////////////////////////////////// // 【引数】 // path : 開くファイルのパス名 // 【戻り値】 // <a href="https://uwsc.jp/com/excel/" >Excel オブジェクト</a> ////////////////////////////////////////////////// FUNCTION ExcelBoot(path = "") DIM Excel = CREATEOLEOBJ("Excel.Application") Excel.Visible = TRUE IFB path = "" THEN Excel.Workbooks.Add ELSE DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") IFB FSO.GetParentFolderName(path) = "" THEN path = GET_CUR_DIR + "\" + path ENDIF Excel.Workbooks.Open(path) ENDIF RESULT = Excel FEND ////////////////////////////////////////////////// // 【引数】 // inputs : 繰り返す文字列 // multiplier : inputsを繰り返す回数 // 【戻り値】 // inputsをmultiplier回を繰り返した文字列を返します ////////////////////////////////////////////////// FUNCTION strRepeat(inputs, multiplier) DIM res = "" FOR n = 1 TO multiplier res = res + inputs NEXT RESULT = res FEND ////////////////////////////////////////////////// // 【引数】 // arrayname : 上限値を求める配列の名前 // dimension : 返す次元を示す整数 // 【戻り値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(arrayname[], dimension = 1) RESULT = EVAL("RESIZE(arrayname" + strRepeat("[0]", dimension - 1) + ")") FEND
使用関数
指定期間に受信したメールからURLを抽出(Outlook)
HASHTBL url = HASH_SORT 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/07" Items = Items.Restrict("[ReceivedTime] >= '" + start + "' AND [ReceivedTime] <= '" + end + "'") DIM row = 1 FOR MailItem IN Items FUKIDASI(row + "/" + Items.Count) DIM Matches = reExecute(MailItem.Body, "https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?") FOR Match IN Matches url[Match.Value] = url[Match.Value] + 1 NEXT row = row + 1 NEXT FOR i = 0 TO LENGTH(url) - 1 FUKIDASI(i + "/" + (LENGTH(url) - 1)) PRINT url[i, HASH_KEY] NEXT ////////////////////////////////////////////////// // 【引数】 // str : 正規表現による検索の対象となる文字列 // Pattern : 正規表現で使用するパターンを設定 // IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse // Global : 文字列全体を検索する場合はTrue、しない場合はFalse // 【戻り値】 // 正規表現で検索した結果をMatchesコレクションとして返します。 ////////////////////////////////////////////////// FUNCTION reExecute(str, Pattern, IgnoreCase = TRUE, Global = TRUE) DIM re = CREATEOLEOBJ("VBScript.RegExp") re.Pattern = Pattern re.IgnoreCase = IgnoreCase re.Global = Global RESULT = re.Execute(str) FEND
使用関数
解説
指定期間に受信したメールの添付ファイルをすべて保存(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
使用関数
解説
指定期間のメールを日毎に集計(Outlook)
CONST olFolderIndex = 6 DIM Outlook = CREATEOLEOBJ("Outlook.Application") DIM NameSpace = Outlook.GetNameSpace("MAPI") DIM Folder = NameSpace.GetDefaultFolder(olFolderIndex) DIM Items = Folder.Items Items = Items.Restrict("[ReceivedTime] >= '2020/12/01' AND [ReceivedTime] < '2020/12/31'") HASHTBL dates = HASH_SORT FOR MailItem IN Items DIM datetime = MailItem.ReceivedTime GETTIME(0, datetime) DIM date = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 dates[date] = dates[date] + 1 NEXT FOR i = 0 TO LENGTH(dates) - 1 PRINT dates[i, HASH_KEY] + "<#TAB>" + dates[i, HASH_VAL] NEXT
結果
2020/12/05 78 2020/12/06 60 2020/12/07 72 2020/12/08 82 2020/12/09 75 2020/12/10 91 2020/12/11 82 2020/12/12 77 2020/12/13 63 2020/12/14 71 2020/12/15 104 2020/12/16 84 2020/12/17 80 2020/12/18 93 2020/12/19 78 2020/12/20 66 2020/12/21 67 2020/12/22 75 2020/12/23 82 2020/12/24 73 2020/12/25 87 2020/12/26 73 2020/12/27 56 2020/12/28 65 2020/12/29 69 2020/12/30 44 2020/12/31 1
使用関数
既定フォルダの最新のメールを取得
既定フォルダで受信した最新のメールを取得し、差出人名、件名、受信日時を出力します。
CONST olFolderInbox = 6 DIM Outlook = CREATEOLEOBJ("Outlook.Application") DIM NameSpace = Outlook.GetNameSpace("MAPI") DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox) DIM Items = Folder.Items Items.Sort("[ReceivedTime]", FALSE) DIM MailItem = Items.GetLast WITH MailItem PRINT "差出人名," + .SenderName PRINT "件名," + .Subject PRINT "受信日時," + .ReceivedTime ENDWITH
使用関数
解説
参考文献
関連記事
- Account オブジェクト
- Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
- Accounts オブジェクト
- 現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
- Application オブジェクト
- Outlookアプリケーション全体を表します。
- AppointmentItem オブジェクト
- 新しい予定を表すAppointmentItemオブジェクトを作成します。
- Folder オブジェクト
- Folders オブジェクト
- Items オブジェクト
- MailItem オブジェクト
- メールメッセージを表します。
- NameSpace オブジェクト
- Outlookのメールや予定表、連絡先といった様々なデータにアクセスすることができます。
- Recipient オブジェクト