• Domingo 8 de Septiembre de 2024, 01:51

Autor Tema:  Re: Importar desde OUTLOOK  (Leído 5200 veces)

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« en: Lunes 1 de Septiembre de 2003, 17:01 »
0
Hola, me gustaria saber si existe un OCX, o algun codigo para poder desde una aplicacion VB (NO VBA) importar en una base de Datos, (Nombre, Email) sacados de la libreta de direcciones del OUTLOOK.

O donde puedo leer las instrucciones, o un tutorial para hacerlo.

Muchas Gracias
Pablo Tilotta
Analista de Sistemas
Argentina

JKim

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #1 en: Lunes 1 de Septiembre de 2003, 19:25 »
0
Hola ¿Pablo?!

Mira he buscado y he encontrado esto:

Dim RstConnect As ADODB.Connection
    Dim RSTADO As ADODB.Recordset
    Dim strConn As String

    Set RstConnect = New ADODB.Connection
    Set RSTADO = New ADODB.Recordset

    With RstConnect
        'Change the Connection String below to the correct settings
        .ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Exchange 4.0;MAPILEVEL=Outlook Address Book;PROFILE=Outlook;TABLETYPE=1;DATABASE=c:temp"
        .Open
    End With

    With RSTADO
        Set .ActiveConnection = RstConnect
        .CursorType = adOpenStatic
        .LockType = adLockReadOnly
        .Open "Select * from [Contacts]"
        .MoveFirst
        'As a test just itterate to the first contact
        Dim i As Long
        For i = 0 To RSTADO.Fields.Count - 1
            Debug.Print RSTADO(i).Name + vbTab + Format(RSTADO(i).Value)
        Next i
        .Close
    End With

    Set RSTADO = Nothing

    RstConnect.Close
    Set RstConnect = Nothing


Pero aunque parece que hay gente a quienes les funciona a mi no me va,
te lo dejo por si quieres probarlo

Saludos!

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #2 en: Lunes 1 de Septiembre de 2003, 19:33 »
0
Hola, Agradezco mucho tu intervencion.

No...lamentablemente a mi tampoco me funciona, y creo que se debe a que en la conexion hace mension a Exchange y yo no tengo Exchange.

Quizas por eso a ti tampoco te funciona.

Estoy tratando de lidiar con la OUTLOOK.APLICATION.

Muchas Gracias
Pablo Tilotta
Analista de Sistemas
Argentina

JKim

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #3 en: Lunes 1 de Septiembre de 2003, 19:48 »
0

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Importar desde OUTLOOK
« Respuesta #4 en: Lunes 1 de Septiembre de 2003, 20:00 »
0
Hola,

Yo hice en su día una aplicación que trabajaba de forma asincrona contra el outlook pero no la encuentro.

Lo que si te puedo decir es q obtuve mucha información de esta página:

http://www.planet-source-code.com/

entra y busca outlook en el lenguaje visual basic y encontraras mucha información.

Espero que te sirva.

Saludos.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #5 en: Lunes 1 de Septiembre de 2003, 20:18 »
0
ROBER.29 te agradezco mucho el link que me pasaste, ya que encontre mucha ayuda acerca de la manipulacion del OUTLOOK.

Gracias nuevamente, y voy a sacar provecho de tu ayuda.

un Abrazo
Pablo Tilotta
Analista de Sistemas
Argentina

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #6 en: Lunes 1 de Septiembre de 2003, 21:01 »
0
Simplemente lo que quiero hacer es poder leer todos los contactos de una carpeta determinada de la seccion contactos del outlook.

Me baje 2 ejemplos de este sitio de VB recomendado por ROBER.29 pero los 2 apuntan a crear carpetas y contactos, pero me estoy volviendo loco con las ayudas y los libros y no puedo dar con el codigo correcto para realizar exactamente lo contrario.

Yo quiero leer los contacto y alimentar una Base de Datos.

Al que pueda aportarme otro dato concreto le estare muy agradecido.

Gracias
Pablo Tilotta
Analista de Sistemas
Argentina

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Importar desde OUTLOOK
« Respuesta #7 en: Martes 2 de Septiembre de 2003, 00:24 »
0
Siento q con el link q te pase no te haya resulto tu problema. Intentare buscar la aplicación q hice yo en su día y si no la encuentro intentare sacar como se hace si me acuerdo y te lo paso.

Saludos.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #8 en: Martes 2 de Septiembre de 2003, 00:29 »
0
Hola, perdona ROBERT.29

Es que segui buscando en ese mismo sitio y encontre al final lo que estaba buscando.

Estaba de todos modos probandolo, pero estoy casi seguro que es lo que necesito.

Muchas Gracias por tu ayuda.

Por si a otra persona le sirve, adjunto el .ZIP con el proyecto que permite hacer muchas cosas con el OUTLOOK.

Suerte
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Pablo Tilotta
Analista de Sistemas
Argentina

JKim

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #9 en: Martes 2 de Septiembre de 2003, 01:35 »
0
Hola Pablo!

Este código tb lo había encontrado en internete y en la ayuda del MSDN, pero sigo sin recuperar los contactos. Por favor dime si a ti te funciona. Por cierto en los que he encontrado dos versiones: una en la que se definen los objetos como Object y otra (me parece más correcta) en la q se definen como el objeto q pertoca, ie: contacto, aplicación, espacio de nombre....

Otra preguntilla, este código parece que originalmente es para Microsoft Outlook, en lugar de Outlook Express. Supongo q comparten la libreta de direcciones, no sé si todo lo demás tb sirve.

Dime algo, por favor, q ya estoy interesado

Saludos y un abrazo

chiaravel

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #10 en: Martes 2 de Septiembre de 2003, 14:27 »
0
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
Pablo Tilotta
Analista de Sistemas
Argentina

JKim

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Importar desde OUTLOOK
« Respuesta #11 en: Martes 2 de Septiembre de 2003, 14:53 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 242
    • Ver Perfil
Importar desde OUTLOOK
« Respuesta #12 en: Martes 2 de Septiembre de 2003, 15:02 »
0
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
Pablo Tilotta
Analista de Sistemas
Argentina