Programación General > Visual Basic 6.0 e inferiores
Re: Importar desde OUTLOOK
chiaravel:
Este programa creo que funciona con Microsoft OUTLOOK, pero no lo probe en OUTLOOK EXPRESS (ya que en esta empresa no lo usamos).
A mi me funciono bien, aunque lo lleve a otras 2 PCs, y en una funciono bien y en la otra no funciono.
Yo vengo de la vieja escuela de programadores, en donde los lenguajes si bien no te permitian hacer muchas cosas, tampoco te daban tantos sobresaltos como en Visual Basic, en donde hay que tener en cuenta 5.000.000 de cosas que pueden fallar.
Volviendo al tema del OUTLOOK, otra cosa que veo mal, es que tengas que tener corriendo el programa (OUTLOOK) para que tu aplicacion funcione, porque si no tenes abierto el OUTLOOK no te lee ninguna carpeta ni nada, o sea que no va a buscar a disco, donde se encuentren los datos del Outlook sino que recorre la memoria donde esta alojado el programa para extraer la informacion.
OJO, esta no es una verdad, sino que es mi conclusion de como veo que se ejecuta la aplicacion, quizas estoy muy lejos de la verdad.
La version que a mi me funciono es la que define los objetos de tipo OBJECT, y simplemente copie y pegue el codigo de lectura de contactos, haciendole algunas modificaciones, como por ejemplo , que tambien me traiga la direccion de Email, te transcribo el siguiente codigo que es el codigo que funciona en mi aplicacion.
Dim ol As Object
Dim olns As Object
Dim objFolder As Object
Dim objAllContacts As Object
Dim Contact As Object
On Error Resume Next
' Set the application object
Set ol = New Outlook.Application
' Set the namespace object
Set olns = ol.GetNamespace("MAPI")
' Set the default Contacts folder
Set objFolder = olns.GetDefaultFolder(olFolderContacts).Folders("Importantes")
' Set objAllContacts = the collection of all contacts
Set objAllContacts = objFolder.Items
' Loop through each contact
For Each Contact In objAllContacts
' Display the Fullname field for the contact
archivos.rs_cliv_insertar Contact.Email1Address, UCase(Contact.FullName), " "
Next
Set ol = Nothing
Set olns = Nothing
Set objFolder = Nothing
Set objAllContacts = Nothing
Set Contact = Nothing
MsgBox "Datos Correctamente Importados", vbInformation, "Tarea Finalizada"
Espero que te sirva.
Un Abrazo
JKim:
Hola Pablo
Sigo haciendo pruebas. Pero te diré lo siguiente: Abrir Microsoft Outlook, cree un nuevo contanto (ni si quiera configuré la cuenta de correo) cerré outlook y ejecuté programa. Y funciona ok!
Pero no funciona con Outlook Express.
Cambié los objetos al tipo correcto de objeto y funciona ok (me sigue pareciendo más correcto hacerlo así). Con esto decirte dos cosillas: Una debiera funcionar con Outlook cerrado y dos creo q es mejor declarar los objetos como tocan.
Sigo investigando, la verdad es q no lo necesito para nada en particular, pero al leer tu cuestión me pico la curiosidad. No consigo entender, yo tampoco, q para hacer algo tan simple haya q complicarse uno la vida tanto. Amigo Pablo no estaremos haciendo algo mal?
Saludos y un fuerte abrazo!
chiaravel:
No creo que seamos nosotros los programadores los que estamos haciendo mal las cosas.
Creo que el propio Microsoft se dio cuenta que metio la pata... de hecho la creacion de la tecnologia .NET es un poco el gran parche que todos los programadores estabamos esperando, ya que vuelve a la vieja escuela en cuanto a que cuando compilas e instalas en la PC cliente, no tenes que estar preocupandote por la REGISTRY (ya que no trabaja con ella), no tenes que preocuparte por las DLL y posibles problemas en el futuro cuando el cliente instale nuevos Softs que destruyan tu DLL o le cambien la version.
Ademas trae muchisimas mejoras en cuanto al codigo y al disenador que realmente es un lujo.
Pero como toda gran incorporacion nueva, es medio complicado migrar las aplicaciones de VB6 a .NET.
No tengo idea porque no funciona con OUTLOOK EXPRESS.
Pero en cuanto lo pruebe con ese soft te aviso.
Un Abrazo
Navegación
[*] Página Anterior
Ir a la versión completa