Как посчитать и экспортировать количество и названия категорий в outlook, чтобы преуспеть - PullRequest
0 голосов
/ 11 июля 2019

У меня есть код, который позволяет вам ввести диапазон дат, чтобы получить информацию, которую я хочу.Моя проблема в следующем шаге экспорта этих данных в Excel.

Я пытался запустить VBA из Excel и не смог получить желаемых результатов.К сожалению, я не знаком с VBA в outlook

Sub CategoriesEmails()

Dim oFolder As MAPIFolder
Dim oDict As Object
Dim sStartDate As String
Dim sEndDate As String
Dim oItems As Outlook.items
Dim sStr As String
Dim sMsg As String


On Error Resume Next
Set oFolder = Application.ActiveExplorer.CurrentFolder

Set oDict = CreateObject("Scripting.Dictionary")

sStartDate = InputBox("Type the start date (format MM/DD/YYYY)")
sEndDate = InputBox("Type the end date (format MM/DD/YYYY)")

Set oItems = oFolder.items.Restrict("[Received] >= '" & sStartDate & "' And [Received] <= '" & sEndDate & "'")
oItems.SetColumns ("Categories")

For Each aitem In oItems
sStr = aitem.Categories
If Not oDict.exists(sStr) Then
oDict(sStr) = 0
End If
oDict(sStr) = CLng(oDict(sStr)) + 1
Next aitem

sMsg = ""
For Each aKey In oDict.keys
sMsg = sMsg & aKey & ":   " & oDict(aKey) & vbCrLf
Next
MsgBox sMsg

Set oFolder = Nothing

 End Sub

Я ожидаю, что информация будет отображаться в окне сообщения, которое выполняет этот код.

1 Ответ

0 голосов
/ 11 июля 2019

Хотя даты и время обычно хранятся в формате Date, методы Find и Restrict требуют преобразования даты и времени в строковое представление.Чтобы убедиться, что дата отформатирована так, как ожидает Microsoft Outlook, используйте функцию Format.

Например, вы можете найти похожие посты там - Элементы Outlook, ограниченные датой выпуска .

...