Programa VBA para Outlook para contagem de items de correio

Este código VBA pode ser usado em Outlook2003/7 para contar o número de mensagens enviadas ontem (ou noutro dia)

Public iCount

Private Sub Count_Yesterday()

Dim oNS             As NameSpace

Dim oFolder         As MAPIFolder

Dim strBody         As String

Dim objMsg          As MailItem

Dim intCount        As Integer

Dim i               As Integer

Dim iMeetCount      As Integer

Dim dtPrevDate      As Date

Dim blnDateChanged  As Boolean

SentcomSub1 = 0

InboxcomSub1 = 0

SentcomSub2 = 0

InboxcomSub2 = 0

iCount = 0

Set oNS = GetNamespace(“MAPI”)

Set oFolder = oNS.GetDefaultFolder(olFolderSentMail)

intCount = oFolder.Items.Count

Set objMsg = Application.CreateItem(olMailItem)

iMeetCount = 0

antes = InputBox(“Quer contar quantos dias para atras? Se responder em branco, assume 1 dia (ontem)”)

If antes = “” Then antes = 1

dtPrevDate = Date – antes

For i = 1 To intCount

Select Case oFolder.Items(i).Class

Case olAppointment

‘Don’t do anything at this time, might need this functionality later

Case olContact

‘Don’t do anything at this time, might need this functionality later

Case olMail

‘Set myOlApp = CreateObject(“Outlook.Application”)

‘Set myItem = myOlApp.ActiveInspector.CurrentItem

‘mfrom = myItem.SenderName

If dtPrevDate = DateValue(oFolder.Items(i).CreationTime) And InStr(oFolder.Items(i).Recipients(1), “on behalf of; ASASASAS“) > 0 Then

‘strBody = strBody & “Creation Time: ” & oFolder.Items(i).CreationTime & vbCrLf

‘strBody = strBody & “Subject: ” & oFolder.Items(i).Subject & vbCrLf

‘strBody = strBody & “To: ” & oFolder.Items(i).Recipients(1) & vbCrLf & vbCrLf

‘Print #1, “From: ” & MailItem.SentOnBehalfOfName

iCount = iCount + 1

sub1 = “Nome de template

If oFolder.Items(i).Subject = sub1 Then

SentcomSub1 = SentcomSub1 + 1

End If

‘sub2 = “RE: Publisher”

‘If oFolder.Items(i).Subject = sub2 Then

‘    SentcomSub2 = SentcomSub2 + 1

‘End If

End If

Case olMeetingRequest

‘Don’t do anything at this time, might need this functionality later

End Select

Next

iSent = iCount

iCount = 0

Set oFolder = oNS.GetDefaultFolder(olFolderInbox)

intCount = oFolder.Items.Count

Set objMsg = Application.CreateItem(olMailItem)

iMeetCount = 0

‘dtPrevDate = Date – 1

For i = 1 To intCount

Select Case oFolder.Items(i).Class

Case olAppointment

‘Don’t do anything at this time, might need this functionality later

Case olContact

‘Don’t do anything at this time, might need this functionality later

Case olMail

‘MsgBox DateValue(oFolder.Items(i).CreationTime)

If dtPrevDate = DateValue(oFolder.Items(i).CreationTime) Then

‘strBody = strBody & “Creation Time: ” & oFolder.Items(i).CreationTime & vbCrLf

‘strBody = strBody & “Subject: ” & oFolder.Items(i).Subject & vbCrLf

‘strBody = strBody & “To: ” & oFolder.Items(i).Recipients(1) & vbCrLf & vbCrLf

iCount = iCount + 1

If oFolder.Items(i).Subject = “Nome de template” Then

InboxcomSub1 = InboxcomSub1 + 1

End If

‘RE: Publisher

‘If oFolder.Items(i).Subject = “RE: Publisher” Then

‘    InboxcomSub2 = InboxcomSub2 + 1

‘End If

End If

Case olMeetingRequest

‘Don’t do anything at this time, might need this functionality later

End Select

Next

iInbox = iCount

objMsg.To = “nome@mail.pt”

objMsg.Subject = “Contagens das mensagens de mail enviadas ontem: ” & CStr(dtPrevDate)

objMsg.Body = “Foram enviadas (Sent Items) com <on behalf of; ASASASAAS>: ” & CStr(iSent) & ” mensagens desta mailbox.” & Chr(13) & “Foram recebidas (Inbox): ” & CStr(iInbox) & ” mensagens desta mailbox.” & Chr(13) & Chr(13) & “Mensagens com um Subject especfico (exato):” & Chr(13) & _

” Com Sent Items:Subject: <” & sub1 & “> -> ” & CStr(SentcomSub1) & Chr(13) & ” Com Inbox:Subject: ” & sub1 & ” -> ” & CStr(InboxcomSub1) & Chr(13)

‘” Com Sent Items:Subject: ” & sub2 & ” -> ” & CStr(SentcomSub2) & Chr(13) & ” Com Inbox:Subject: ” & sub2 & ” -> ” & CStr(InboxcomSub2) & Chr(13)

objMsg.Send

Set oNS = Nothing

Set oFolder = Nothing

Set oNewMail = Nothing

Set objMsg = Nothing

End Sub

Sendo um “frakenstein” de vário código disperso na Net, com muitas partes comentadas (funcionais) para fácil expansão de capacidades.

Anúncios
Categories: CodeFarmPt, Informática | Etiquetas: | Deixe um comentário

Navegação de artigos

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

Create a free website or blog at WordPress.com.

Eleitores de Portugal (Associação Cívica)

Associação dedicada à divulgação e promoção da participação eleitoral e política dos cidadãos

Vizinhos em Lisboa

A Vizinhos em Lisboa tem em vista a representação e defesa dos interesses dos moradores residentes nas áreas, freguesias, bairros do concelho de Lisboa nas áreas de planeamento, urbanismo, valorização do património edificado, mobilidade, equipamentos, bem-estar, educação, defesa do património, ambiente e qualidade de vida.

Vizinhos do Areeiro

Núcleo do Areeiro da associação Vizinhos em Lisboa: Movimento de Vizinhos de causas locais e cidadania activa

Vizinhos do Bairro de São Miguel

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos

TRAVÃO ao Alojamento Local

O Alojamento Local, o Uniplaces e a Gentrificação de Lisboa e Porto estão a destruir as cidades

Não aos Serviços de Valor Acrescentado nas Facturas de Comunicações !

Movimento informal de cidadãos contra os abusos dos SVA em facturas de operadores de comunicações

Vizinhos de Alvalade

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos de Alvalade

anExplica

aprender e aprendendo

Subscrição Pública

Plataforma independente de participação cívica

Rede Vida

Just another WordPress.com weblog

Vizinhos do Areeiro

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos do Areeiro

MDP: Movimento pela Democratização dos Partidos Políticos

Movimento apartidário e transpartidário de reforma da democracia interna nos partidos políticos portugueses

Operadores Marítimo-Turísticos de Cascais

Actividade dos Operadores Marítimo Turísticos de Cascais

MaisLisboa

Núcleo MaisDemocracia.org na Área Metropolitana de Lisboa

THE UNIVERSAL LANGUAGE UNITES AND CREATES EQUALITY

A new world with universal laws to own and to govern all with a universal language, a common civilsation and e-democratic culture.

looking beyond borders

foreign policy and global economy

O Futuro é a Liberdade

Discussões sobre Software Livre e Sociedade

%d bloggers like this: