11/1/2009 20:35
El Bruno
[Outlook] Macro para mover las confirmaciones de lectura a una carpeta determinada
Buenas,
aquellos que trabajan conmigo saben que soy bastante molesto con los correos electrónicos ya que siempre los envío con confirmación de envío y de lectura. Esto que molesta bastante, personalmente me permite (cuando el destinatario lo permite) tener un seguimiento de mis correos.
El problema con este tipo de trabajo es que cuando trabajas con listas grandes de entrega, puedes llegar a tener en un mismo día cerca de 6000 confirmaciones de lectura (caso típico en la comunidades de Avanade, donde hay cerca de 6000 personas inscriptas).
Es por esto que esta pequeña macro me permite mover las confirmaciones de lectura de una forma automática a una carpeta personalizada.
1: Public Sub MoveReadItemsToFolder()
2:
3: Dim outApp As Outlook.Application
4: Dim inboxFolder As Outlook.MAPIFolder
5: Dim readFolder As Outlook.MAPIFolder
6: Dim colFolders As Outlook.Folders
7: Dim inboxItem As Object
8: Dim mailItem As Outlook.mailItem
9: Dim entryID As String
10: Dim movedCount As Integer
11:
12: Set outApp = CreateObject("outlook.application")
13: Set colFolders = outApp.GetNamespace("MAPI").Folders
14: Set inboxFolder = outApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
15: Set readFolder = outApp.GetNamespace("MAPI").GetFolderFromID("000000003DF78CBAA12BFC409EBC02451E577D88A2830000")
16:
17: For Each inboxItem In inboxFolder.Items
18: Dim messageClass As String
19: messageClass = LCase(inboxItem.messageClass)
20: If messageClass = "report.ipm.note.dr" Or _
21: messageClass = "report.ipm.note.ipnrn" Or _
22: messageClass = "report.ipm.schedule.meeting.resp.pos.dr" Or _
23: messageClass = "report.ipm.schedule.meeting.resp.tent.dr" Or _
24: messageClass = "report.ipm.note.ipnnrn" Or _
25: messageClass = "report.ipm.note.expanded.dr" Then
26:
27: ' move to read folder
28: inboxItem.Move readFolder
29: movedCount = movedCount + 1
30:
31: End If
32: Next
33:
34: Set inboxItem = Nothing
35: Set inboxFolder = Nothing
36: Set readFolder = Nothing
37: Set colFolders = Nothing
38: Set outApp = Nothing
39:
40: MsgBox "Se han movido [" & movedCount & "] elementos a la carpeta [Leidos]"
41:
42: End Sub
Estos son los pasos para agregar esta macro en Outlook
1. Presionar Alt+F11 y dentro del editor de Macros pegar el código de la Macro (con el ID de la carpeta a la que se quieren mover los elementos)
2. Una vez agregada la macro, podemos agregar un boton en Outlook que nos permita invocar a la macro directamente.
3. Dentro de la barra de herramientas de Outlook, desplegamos el menú contextual y seleccionamos la opción [Customize]

4. Dentro del formulario de personalización seleccionamos la pestaña [Commands] y el submenú [Macros].

5. Seleccionamos la macro y la arrastramos el botón correspondiente de nuestra macro a la toolbar.
6. En este punto tenemos el boton configurado; pero sin embargo es un poco incómodo el texto con el que ha quedado. Para modificarlo, sobre el boton desplegamos el menú contextual y modificamos la propiedad [Name] del mismo

7. Done !!!

Saludos @ Home
El Bruno
Crossposting from
ElBruno.com
Archivado en: Microsoft Office
Comparte este post: