Hola buenas, estoy intentando resolver una incidencia que tiene un cliente al abrir Outlook 2013 cuando pulsa un botón personalizado de nuestra aplicación. Este botón lo único que hace es llamar a una función JavaScript (Customize_OnClickNodo()) que
no recibe argumentos de entrada. El problema solo se manifiesta con la ultima versión de Outlook 2013. El código usado para abrir la aplicación es el siguiente:
var OutlookApp;
var MailItem;
try {
var OutlookApp = new ActiveXObject("Outlook.Application");
var objNS = theApp.GetNameSpace('MAPI');
var MailItem = OutlookApp .CreateItem(0);
MailItem .to = ("Destinatario");
MailItem.Subject = ("Prueba");
MailItem.Body = ("Esto es una prueba");
MailItem.display();
} catch (err){
alert("Error en la configuracion de Outlook.");
}
return true;
El caso es que la función falla al crear el nuevo objeto ActiveXObject con parámetro "Outlook.aplication". El mensaje que genera, a parte del mensaje de error de la excepción, es el siguiente:
El servidor de Automatización no puede crear el objeto
La versión del sistema operativo que usa tanto el cliente como yo es Windows 7. He mirado en el editor de registros de Windows y parece que todo esta en orden. Al buscar en "HKEY_CLASSES_ROOT/CLSID/XXXX" donde "XXXX"
es el CLSID de la aplicación de Outlook 2013 (CLSID localizado en "HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Outlook.Aplication.15") la ruta especificada en el registro "LocalServer32" también lo es ("C:\PROGRA~1\MICROS~2\Office15\OUTLOOK.EXE"),
pues desde la opción "ejecutar" me abre el programa pegando la ruta. He probado también a modificar el registro de la ruta poniendo la opción "/automation" al final como he visto en otras aplicaciones de Office 2013 tales como Word o Excel,
pero sigo sin obtener resultados. Instale antes Office 2007 y al fijarme me doy cuenta de que en HKEY_LOCAL_MACHINE/SOFTWARE/Classes/... existen registros tales como "Outlook.Aplication.12" y "Outlook.Aplication" cuyo CLSID es el mismo
que para "Outlook.Aplication.15". ¿Podría ser esta la raíz del problema? He establecido como predeterminados todos las aplicaciones de Microsoft Office. Desinstalé Office 2007 al completo y no me dio ningún fallo. La única aplicación que veo instalada
desde el panel de control es "Microsoft Office 2003 Web Components". ¿Debería desinstalarla a su vez e instalar una versión mas nueva o correspondiente con Office 2013? Si alguien tuviese alguna idea de lo que ocurre me seria de mucha
ayuda. ¡Muchas gracias por adelantado!
Nota: He probado también a intentar abrir Word y Excel con un código semejante (new ActiveXObject(Word.Aplication)) y genera el mismo error.