Folderフォルダー オブジェクト

本ページには広告が含まれています。

Outlookのフォルダーを表します。受信トレイフォルダ・予定表フォルダ・連絡先フォルダなど。

Folder オブジェクト を返すメソッド・プロパティ

Folders オブジェクト
NameSpace.GetDefaultFolder メソッド
現在のプロファイルで要求された種類の既定のフォルダを表すFolder オブジェクトを返します。
Outlook.Folder
そのストアのルートフォルダを表すFolder オブジェクトを返します。
Outlook.Folder

メソッド

<表示切り替え>

プロパティ

<表示切り替え>

プログラム実行例

アカウント毎に迷惑メールの件数を集計(Outlook)

UWSC
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folders = NameSpace.Folders

FOR oFolder IN Folders
	//PRINT "■" + oFolder.Name
	Folder = NameSpace.Folders(oFolder.Name).Folders("迷惑メール")
	PRINT oFolder.Name + ":" + Folder.Items.Count + "件"
NEXT
結果
CSV
Yahoo!:   42516件
Android:   0件
使用関数

指定期間のメール情報を取得(Outlook)

UWSC
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
使用関数

参考文献

  1. Folder オブジェクト (Outlook) | Microsoft Learn

関連記事

Shell.Explore メソッド
指定したディレクトリをエクスプローラで開きます。
Folder オブジェクト
シェルフォルダを表します。
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。
Folder.GetDetailsOf メソッド (Shell)
フォルダ内のアイテムに関する詳細を取得します。
Folder.MoveHere メソッド (Shell)
1つまたは複数のアイテムをこのフォルダに移動します。
Folder.ParseName メソッド (Shell)
指定されたアイテムのFolderItem オブジェクトを作成して返します。
Folder.ParentFolder プロパティ (Shell)
指定したフォルダの親のFolder オブジェクトを返します。
FileSystemObject オブジェクト
Folder オブジェクト
フォルダのすべてのプロパティにアクセスできます。
Folder.Drive プロパティ (FSO)
指定したフォルダがあるドライブのドライブ文字を返します。