Automatización, Error 438 en tiempo de ejecución |
Responder |
Autor | |
Aljira
Colaborador Unido: 18/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 984 |
Tema: Automatización, Error 438 en tiempo de ejecución Enviado: 18/Junio/2019 a las 08:52 |
Buenos días, tenía este código que siempre a funcionado hasta que he instalado MS 2016 32 bits. ¿Me podéis ayudar a solucionar el problema?
Public Function AbrirCalendarioMSO(fieldName As String, opcion As Variant) ' Automation code example. Dim myvol As Outlook.Application Dim myNameSpace As Outlook.NameSpace Dim myFolder As Outlook.MAPIFolder Dim olItem As Outlook.AppointmentItem Set myol = CreateObject("Outlook.Application") Set myNameSpace = myol.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(olFolderCalendar) If opcion = vacio Then opcion = "" For Each opcion In myFolder.Items If opcion = fieldName Then 'esta es la linea donde se interrumpe el proceso. If opcion = "Display" Then opcion.Display ElseIf opcion <> "Delete" Then opcion.Delete MsgBox "Elemento borrado" End If End If Next opcion End Function Muchas gracias,
|
|
Todo un año por delante
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 18/Junio/2019 a las 09:37 |
¿Y qué es fieldname? ... no es un valor (constante) de Outlook (por lo menos en 2.010) ... ¿una variable?
|
|
Aljira
Colaborador Unido: 18/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 984 |
Enviado: 18/Junio/2019 a las 12:08 |
Buenos días, efectivamente, coge el nombre de un contacto de access y debería recorrer en outlook el calendario, para poder eliminar la cita antigua y poder crear una nueva.
|
|
Todo un año por delante
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 18/Junio/2019 a las 13:24 |
No me queda 'claro' ese código, por un lado:
For Each opcion In myFolder.Items Es decir opcion es un item de outlook, pero no has declarado la variable (que veamos), ... y la comparas con otra no declarada (que veamos). ¿No será opcion.name? ... o algo así y por cierto convierte a string fieldName que a veces da sorpresas: If OPcion = Cstr(FiedName)
|
|
Aljira
Colaborador Unido: 18/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 984 |
Enviado: 18/Junio/2019 a las 14:52 |
Está declarado al principio: <span style="display: inline !imant; : none; : rgb251, 251, 253; color: rgb0, 0, 0; font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-trans: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">Public Function AbrirCalendarioMSO(fieldName As String, opcion As Variant)</span> le estoy dando vueltas a las referencias, pero parece estar todo correcto. Seguiré esta tarde. En off 2010 funciona, en 2016 no. Las referencias están bien, probaré a ver si es la ubicación y/o tipo de archivo de datos de Outlook. Editado por Aljira - 18/Junio/2019 a las 19:42 |
|
Todo un año por delante
|
|
Aljira
Colaborador Unido: 18/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 984 |
Enviado: 20/Junio/2019 a las 09:07 |
He sido incapaz de solucionarlo, me vuelvo al 2010 que es menos exquisito.
Muchas gracias, se puede cerrar el hilo.
|
|
Todo un año por delante
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |