• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Elek

vba e outlook

7 mensagens neste tópico

Olá bom dia. Estou a fazer um projecto que consiste numa contagem de emails recebidos e enviados no outlook... Sendo que tenho que verificar se o email do id x foi feito um reply, reply all ou forward...

Alguém tem alguma sugestão de como o posso fazer? Nunca trabalhei com vba no outlook..

Obrigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Antes demais, obrigada pela resposta e pelo link.

É muito útil, mas mesmo assim não explica como é que apanho os eventos de quando o email chega à caixa de correio, de quando respondo a um email ou mesmo quando faço forward de um mail. Porque a ideia é atribuir um id ao email e colocar o log desse email numa tabela no acess... Como nunca trabalhei com isto, não faço a minima ideia de como o fazer...

Obrigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que podias fazer uma aproximação diferente...

Em vez de "interagir" com o Outlook que o que podias tentar era adaptar um cliente de email... não faltam clientes de email (pop e imap) em vb...

Poderias "tratar" todo o email com esse programa em modo IMAP... e usar o Outlook em modo POP3.

Fica aqui a sugestão, pelo menos era o que eu tentava.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois era uma excelente ideia... o problema é que o meu chefe falou comigo para fazer isto, mas disse-me logo como o tinha que fazer... estou um pouco limitada em relação a isso... é que da forma que ele me mandou fazer eu não encontro absolutamente nada... ja consegui criar um código, com a ajuda de vários sites, que me insere as coisas numa bd, mas não corre a macro automaticamente e temos que escolher a pasta do outlook de onde vai estrair os dados e não é isso que se pretende... Tenho 3 dias para fazer isto e não vejo luz no fim do túnel ...

Obrigada a todos pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Private Sub cmdVerificaEmails_Click()
Dim intContador   As Integer
Dim strMessage    As String
Dim strFiltro     As String
Dim blnTrueFalse  As Boolean
Dim nsMyMapi      As NameSpace
Dim MyFolder      As mapiFOLDER
Dim objItem       As Object

  
' apontar para a INBOX Folder.
Set nsMyMapi = GetNamespace("MAPI")
Set MyFolder = nsMyMapi.GetDefaultFolder(olFolderInbox)
intContador = 0
blnTrueFalse = False
strFiltro = "PALAVRA A PESQUISAR NOS ITEMS NAO LIDOS"

' Verifica se items nao lidos "UNREAD"
DoEvents
If MyFolder.UnReadItemCount = 0 Then
   MsgBox "Nao existem mensagens novas na pasta " & MyFolder, vbInformation, "Nada de novo"
   Exit Sub
Else
   MsgBox "Existem " & MyFolder.UnReadItemCount & " items NÃO LIDOS na sua pasta " & MyFolder, vbInformation
End If

'Extrair mensagem BASEADA num filtro
For intContador = 1 To MyFolder.UnReadItemCount
   strMessage = MyFolder.Items.Item(intContador).Body
   DoEvents
   If InStr(strMessage, strFiltro) Then
      MsgBox MyFolder.Items.Item(intContador).Body
      blnTrueFalse = True
   End If
Next intContador
If Not blnTrueFalse Then
   MsgBox "Mensagens foram verificadas e não foram encontradas mensagens com: " & strFiltro
End If
End Sub

Estive a "brincar" um pouco com vb e cheguei a este codigo.. penso que pode ser de alguma utilidade, senão, poque não detalhar EXACTAMENTE o que se pretende ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qualquer código é sempre útil :)

No entanto não é bem isto que se pretende...

pretende-se exportar para o access ou um txt todos os emails recebidos, os respondidos (respondidos, enviados internamente, respondidos com menos 24h, com menos de 48h), emails não respondidos(com mais de 24h, com mais de 48h), emails reencaminhados...

Eu pensei em exportar apenas para 3 tabelas no access e depois fazer query's para o resto...

Isto tem que gravar para a tabela assim que recebe ou que envia um email automaticamente... Não se pretende que o utilizador tenha que correr algo... Claro que há coisas que nunca podemos controlar, como por exemplo o utilizador em vez de responder, envia um novo email com um novo subject, mas isso sabemos que não podemos ter controle.

Para além disto tudo, temos que relacionar os emails com um id, para sabermos que, por exemplo, o id 00002 foi recebido e respondido ou mesmo reencaminhado...

Eu não me explico muito bem... Se não fui muito clara digam :P

Obrigada pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora