Outlook 2013: Como agrupar por data recebida e exibir a hora recebida?

0

Estou usando o Outlook 2013. Por padrão, ele agrupa com base na data de hoje, ontem, dias da semana, na semana passada, que realmente inclui tudo antes.

Em seguida, a coluna recebida mostra o formato m / dd / aaaa hh: mm AM / PM. Meu problema é que, com a data, há muita informação a ser mostrada praticamente no painel de leitura.

A alteração do formato da coluna / campo recebido altera-o para agrupamento e exibição de tabela.

Minhas desculpas porque acho que a raiz da minha incapacidade de descobrir isso é a nomenclatura. Então, por favor, descubra comigo.

O que eu estou procurando é agrupar pela data e exibir a hora na grade / tabela. Se eu pudesse notar o que é hoje, ontem e talvez dia da semana para agrupar isso seria ideal, mas eu suspeito que isso exigiria mais do que olhar para a mensagem quando chega, na qual eu suspeito que seja o tempo de trabalho.

O que eu acho que precisa ser feito é criar um campo adicional para fins de agrupamento, porque eu preciso retirar o tempo, caso contrário, ele acaba agrupando em data e hora que quase sempre será minha mensagem e, portanto, inútil.

Onde estou em uma perda é, como eu preenche o campo adicional? Eu suponho que ele precisa ser VBA, mas estou em uma perda total de como adicionar o código e que evento poderia ser usado supondo que eu possa fazer um evento de nível de aplicativo / mailitem recebido / mailitem adicionado à coleção. Realmente apontando para o evento e objetos envolvidos devem ser o suficiente para eu fazer isso, eu sou realizado com o VBA em geral, mas lutando com o modelo de objeto / eventos do Outlook para esta área.

Para completar, os passos que eu acho que entendo ..

Adicionar campo adicional seria, exibir faixa de opções, exibir configurações, botão de colunas, Nova coluna - > seleções apropriadas - data / hora com formatação ou texto apropriado e confiança em preencher com o formato de data ISO (aaaa-mm-dd) para manter a ordem de classificação.

O agrupamento estaria sob o botão Agrupar por no local em que o botão de colunas está.

EDITAR: Eu fiz o código funcionar mais ou menos. Existem alguns problemas restantes.

'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

Edições restantes:

  1. O código só dispara quando a mensagem é recebida e não atualiza as mensagens no seu OST / PST (coisas no seu computador) - Eu consegui contornar isso matando meu ost e deixando processar tudo novamente (porque um OST é uma cópia local do O que está no Exchange Server, pode não ser aconselhável com PST) ... Não é uma coisa rápida se você tiver um grande número de e-mails, porque eu vou e modificá-los depois de baixar e salvar a alteração. .. Este é mais um atento para os outros como o barco navegou para mim. Uma boa idéia seria escrever código para fazer um loop pela caixa de correio espelhando o processo, mas não estou fazendo isso agora.
  2. O botão Formatar colunas não tem efeito no campo que aparece no cabeçalho do grupo. Como uma data sem hora é efetivamente meia-noite, o primeiro momento do dia, ela é exibida como "ReceivedDateOnly: DDDD, MMMM DD, AAAA 00:00: X itens (s) Y não lidos". Enquanto isso é uma grande melhoria para mim, é menos que ideal. Tendo em conta que você tem que dizer para mostrar o campo de grupo para ver a data, qualquer outra pessoa usando isso pode querer considerar um nome de campo mais curto revisado.
  3. Salvando o pior para o final, ele só funciona em objetos mailitem, ou seja, e-mails regulares. Não faz nada ao estilo de calendário "e-mails" (convites para reuniões). Ao agrupar, então, o campo definido pelo usuário não é alterado quando recebido e, em vez de mostrar uma data para a seção, ele mostra "Nenhum". Como você está classificando Descendente para mostrar os mais recentes primeiro, isso o coloca no final da lista.

Fora desse último problema, estou tolerando isso e aproveitando para ver a data de recebimento como tempo. Claramente, meu código precisa ser aprimorado para o outro tipo. Eu sei o que cavar com para corrigi-lo, mas estou tabelando o problema por enquanto e bem-vindo insight ou correções para qualquer um dos problemas.

    
por Jason 24.01.2018 / 16:56

0 respostas