Outlook 2013: как группировать по полученной дате и отображать полученное время?

596
Jason

Я использую Outlook 2013. По умолчанию он группируется на основе полученной даты Сегодня, вчера, дней недели, прошлой недели, которая действительно включает все предыдущие.

Затем полученный столбец показывает формат м / дд / гггг чч: мм AM / PM. Моя проблема в том, что с датой слишком много информации, чтобы отображаться практически при включенной панели чтения.

Изменение формата полученного столбца / поля изменяет его как для группировки, так и для табличного представления.

Мои извинения, как я думаю, корень моей неспособности понять это номенклатура. Поэтому, пожалуйста, держись со мной.

Я собираюсь сгруппировать по дате и отобразить время в сетке / таблице. Если бы я мог отметить, что сегодня, вчера и, возможно, день недели для группировки, было бы идеально, но я подозреваю, что для этого потребуется нечто большее, чем просто посмотреть на сообщение, в котором, как я подозреваю, находится время этой работы.

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

Где я в недоумении, как мне заполнить дополнительное поле? Я предполагаю, что это должен быть VBA, но я в полной растерянности относительно того, как добавить код и какое событие можно использовать, предполагая, что я могу сделать событие уровня приложения / mailitem полученный / mailitem добавленным в коллекцию. Мне достаточно указывать на событие и задействованные объекты, я в целом справился с VBA, но борюсь с объектной моделью / событиями Outlook для этой области.

Для полноты, шаги, я думаю, я понимаю ..

Добавление дополнительного поля: просмотр ленты, просмотр настроек, кнопка «Столбцы», «Новый столбец» -> соответствующие параметры - либо дата / время с соответствующим форматированием, либо текст, а также заполнение в формате даты ISO (гггг-мм-дд) для поддержания порядка сортировки ,

Группировка будет находиться под кнопкой «Группировать по» в том месте, где находится кнопка «Столбцы».

РЕДАКТИРОВАТЬ: я сделал код работает более или менее. Есть несколько оставшихся проблем.

'Code sample from stack overflow with enhancements 'Revised With typo correcton - works, sort of Private WithEvents Items As Outlook.Items Private Sub Application_Startup() Dim olApp As Outlook.Application Dim objNS As Outlook.NameSpace Set olApp = Outlook.Application Set objNS = olApp.GetNamespace("MAPI") ' default local Inbox Set Items = objNS.GetDefaultFolder(olFolderInbox).Items End Sub  Private Sub Items_ItemAdd(ByVal item As Object)  On Error GoTo ErrorHandler Dim dtReceived As Date Dim Msg As Outlook.MailItem Dim objProp As Outlook.UserProperty If TypeName(item) = "MailItem" Then Set Msg = item  'My Code dtReceived = Msg.ReceivedTime 'MsgBox "Date Received is" & dtReceived 'Yes it is running, an early diagnostic line removed Set objProp = item.UserProperties.Add("ReceivedDateOnly", olDateTime, True) objProp.Value = DateSerial(Year(dtReceived), Month(dtReceived), Day(dtReceived)) Msg.Save 'Mailitem needs saved now that it has been updated 'Last of my original code  End If ProgramExit: Exit Sub ErrorHandler: MsgBox Err.Number & " - " & Err.Description Resume ProgramExit End Sub 

Остальные вопросы:

  1. Код срабатывает только при получении сообщения и не обновляет сообщения, уже находящиеся в вашем OST / PST (вещи на вашем компьютере) - я обошел это, убив мой ost и позволив ему обработать все заново (потому что OST является локальной копией того, что включено Exchange Server, может быть не рекомендуется с PST) ... Не очень быстро, если у вас большое количество электронных писем, как у меня, потому что оно входит и модифицирует их после загрузки, а затем сохраняет изменения ... Это больше заботится о других, так как лодка отплыла за мной. Хорошей идеей было бы написать код для циклического перебора почтового ящика, отражающего процесс, но сейчас я этого не делаю.
  2. Кнопка «Форматировать столбцы» не влияет на поле, отображаемое в заголовке группы. Поскольку дата без времени фактически является полночью, первым моментом дня, она отображается как «ReceivedDateOnly: DDDD, MMMM DD, YYYY 12:00 AM: X элементов (ов) Y непрочитано». Хотя это огромное улучшение для меня, это не идеально. Если вам нужно указать это, чтобы показать поле группы, чтобы увидеть дату, любой, кто использует это, может захотеть рассмотреть пересмотренное более короткое имя поля.
  3. За исключением худшего для последнего, он работает только с объектами mailitem, то есть с обычными электронными письмами. Он ничего не делает с календарем в стиле «электронная почта» (приглашения на собрания). Затем при группировке пользовательское поле не изменяется при получении, и вместо отображения даты раздела отображается «Нет». Так как вы, очевидно, сортируете Descending, чтобы сначала показывать самые последние, это ставит его в конец списка.

За пределами этого последнего выпуска я терплю это и наслаждаюсь тем, что полученная дата является временем. Очевидно, мой код нуждается в улучшении для другого типа. Я знаю, с чем покопаться, чтобы исправить это, но пока я готовлю эту проблему и приветствую понимание или исправления для любой из проблем.

0
Вы, кажется, создали две учетные записи. Пожалуйста, свяжитесь со Справочным центром, чтобы объединить ваши учетные записи Dave M 6 лет назад 0
Прежде всего, добро пожаловать в Super User! Мы всегда рады помочь, но у вас, очевидно, есть две учетные записи суперпользователей: [эта] (https://superuser.com/users/865668/jason) и [эта] (https://superuser.com/users / 865670 / джейсон). Пожалуйста, найдите время, чтобы использовать следующее руководство Справочного центра и попросить сотрудников суперпользователя объединить ваши учетные записи: [Я случайно создал две учетные записи; как мне их объединить?] (https://superuser.com/help/merging-accounts) Run5k 6 лет назад 0
Вы можете свободно редактировать свои собственные сообщения, но для вашей защиты это должно быть сделано под первоначальной учетной записью пользователя. Похоже, вы создали вторую учетную запись, что также помешает вашей возможности комментировать в вашей теме и принимать ответ. См. [Объединить мои учетные записи] (http://superuser.com/help/merging-accounts), чтобы объединить ваши учетные записи, что решит проблему. fixer1234 6 лет назад 0

0 ответов на вопрос