** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Set de un objeto de un type volátil
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoSet de un objeto de un type volátil

 Responder Responder
Autor
Mensaje
PatxiALR Ver desplegable
Nuevo
Nuevo


Unido: 26/Marzo/2015
Localización: CiudadDelMundo
Estado: Sin conexión
Puntos: 6
Enlace directo a este mensaje Tema: Set de un objeto de un type volátil
    Enviado: 28/Abril/2015 a las 12:06
Buenos días,

llevo algún tiempo aprendiendo de los maestros en este foro: Muchísimas gracias por vuestra ayuda.

Recientemente he retomado el tema VBA (tras unos 20 años) por un tema del trabajo.

Estoy tratando de hacer un select múltiple en un DataSheet para asociar los elementos del mismo como miembros de un objeto OutlookMessage de la librería MSOUTL.OLB (Microsoft Outlook 14.0 Object Library).

En el DataSheet no tengo el conjunto de datos completo. El conjunto completo de datos para componer el OutlookMessage se obtiene haciendo un RecordSet a otra tabla escogiendo para ello los datos de este DataSheet.

Algunos de los datos obtenidos son hipervínculos a archivos (se trata de conseguir que la DB no engorde tanto como adjuntando los elementos a la propia DB). Los hipervínculos en el Type del Array sólo he sabido asignarlos para poderlos ver durante la ejecución paso a paso (ventana Watch del Debugger) como Variant, dado que como Hyperlink no supe utilizarlos debidamente. Si se hacía 'Set Array(contador).[ObjetoVariant] = [ObjetoRecordSetIntermedio]![Hipervínculo]' para un ObjetoVariant definido en Type como Hyperlink no se generaba asignación alguna. Si, por el contrario, se definía como Variant dentro del Type, sí se asignaba el hipervínculo durante la ejecución paso a paso.

Problema: pese a que las variables (type, RecordSetIntermedio, Array, contador) están declaradas en global del proyecto (módulo independiente) el objeto del array (el hipervínculo) se modifica por '<Out of context>' en cuanto llega el procedimiento en el que se cumplimenta el array a End Sub.

Curiosamente todos aquellos valores del array que no son objetos no desaparecen pero estos sí. He probado a reasignar los Set entre las asignaciones a otros elementos del type del array y nada.

Llega End Sub y se va todo al traste.

¿Alguien entiende algo de lo que pregunto? ¿Pudiera haber algún error grave de concepto? ¿Creéis que debo seguir leyendo nuevamente alguna parte del manual de alguien? 

Gracias por vuestra paciencia si habéis tratado de llegar hasta esta línea final.
Gracias por vuestra ayuda a aprender en Access.
Arriba
PatxiALR Ver desplegable
Nuevo
Nuevo


Unido: 26/Marzo/2015
Localización: CiudadDelMundo
Estado: Sin conexión
Puntos: 6
Enlace directo a este mensaje Enviado: 29/Abril/2015 a las 08:30
He probado a no setear el objeto en el campo variant del type del array y he asignado el string a este campo (tal vez lo redefina como string en lugar de variant cuando vea cómo va).

De momento tengo otro problema diferente. Ahora tengo direcciones sin mapear (convertí los string de los hipervínculos en strings del tipo \\[servidorDNS/ip]\[Carpeta]\[Subcarpeta]\...\[Archivo] para facilitar el uso de la DB en red y ahora no me deja asignar estos string como Attachments de OutlookMessage).

Edito: tras retocar ligeramente el string y asignarlo a un array unidimensional (vector) ya funciona.

Reto pendiente: realizar una función que contemple entre los múltiples items que conforman el objeto si el attachment está anteriormente asignado antes de realizar el .Add-ing.

Ya puede cerrarse este hilo.

Muchísmas gracias por vuestra atención.


Editado por PatxiALR - 29/Abril/2015 a las 14:32
Gracias por vuestra ayuda a aprender en Access.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable