** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Otros Productos Microsoft
  Mensajes nuevos Mensajes nuevos RSS - Outlook copiar de un calendario a otro con VBA ?
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoOutlook copiar de un calendario a otro con VBA ?

 Responder Responder Página  <12
Autor
Mensaje
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4317
Enlace directo a este mensaje Enviado: 25/Septiembre/2008 a las 21:49

- primero de todo: felicidades.... veo que has conseguido (casi) lo que te comentaba...

desgraciadamente continuo muy liado el resto de la semana (esta y la entrante) por lo que no me voy a poner a hacer el código, pero creo que te puede seguir ayudando
 
Antes de nada prefiero empezar por criticar el código, y despues continuamos con ello.
 
1- pones If onefolder Like "Personal" Then  pero onefolder es un objeto, por lo que estás utilizando el atributo por defecto.
   esto es peligroso y además no se por que lo haces... (y que es "personal", no debería ser un tipo de carpeta de las que has visto definidas en mi código????)
 
2- en el segundo bucle utilizar el mismo contador para los dos arrays, por lo que estás dejando cada uno de ellos medio vacio... y para hacer un seguimiento la cosa se complica mucho, pues existen elementos del array vacios.
 
3- mi propuesta era crear un array de la carpeta principal y, en vez de crear otros arrays, procesar cada uno de los elementos de las otras carpetas comparandolas con los elementos de la primera (los cuales si que estan en el array)
dependiendo de la cantidad de elementos y de lo frecuente que quieras actualizar, quizás puedes recorrer la carpeta principal cada vez...
 
4- el comparar arrays no es complicado
   en tu caso deberias hacer (es el peor algoritmo posible)
    for intX = LBound(array1) to UBound(array1)
        for intY = LBound(array2) to UBound(array2)
              if array1(intX) = array2(intY) then
                   '____procesar
              end if
         next
    next
 
5- el exportar a excel e importar te va a dar otros problemas añadidos. Yo lo dejaría como última opción
 
nota: para borrar la ventana de inmediato te situas con el cursor, seleccionas todo (Ctrl+A o Ctrl-E dependiendo de tu teclado) y aprietas el boton de suprimir
 
Arriba
 Responder Responder Página  <12
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable