Soy nuevo en la programación de Outlook por lo que para el primer paso (más avanzado más adelante) es la siguiente tarea: ¿Cómo acceder a la ventana Inspector Cinta en Outlook?
- Crear una cinta nueva pestaña (Ribbon1) (debe ser mostrado en los exploradores y los nuevos inspectores)
- al seleccionar (Explorar) o abertura (Inspector) un correo de la ficha de cinta debe mostrar el asunto del correo (Como se ha mencionado para probar)
la parte Explorer fue muy fácil para ponerse en marcha, pero tengo problemas haciendo lo anterior para el nuevo inspecto rs
He intentado diversos enfoques, pero ninguno parece funcionar:
He intentado en el NewInspector hacer referencia a los Globals.Ribbons [inspector] .Ribbon1 pero que es siempre nula
He intentado en NewInspector suscribirme al evento Activate y hacerlo desde allí, pero allí el Application.ActiveInspector() es nulo y si almaceno una copia global del inspector del evento NewInspector, no funciona. el primer inspector nuevo (solo después del segundo y de los correos electrónicos leídos). no en el correo de redacción)
He tratado de utilizar el evento de carga de la cinta, sino que sólo ocurre la primera vez
He tratado de utilizar el miembro Globals.Ribbons.Ribbon1 pero que sólo funcionan para el primera vez
(he encontrado un montón de muestras de NewInspector pero nadie parece querer modificar la cinta que no sea éste https://stackoverflow.com/questions/7852017/outlook-2007-ribbon-object-reference-not-set-to-an-instance-of-an-object y por eso no hay respuestas)
esto me está volviendo loco ... es realmente no hay manera de hacer una tarea tan simple !?
Código de ejemplo para referencia
void InspectorsNewInspector(Outlook.Inspector inspector)
{
AddInspectorEventHandlers(inspector);
}
private void AddInspectorEventHandlers(Outlook.Inspector inspector)
{
if (inspector == null)
{
return;
}
Ribbon1 ribbon1 = Globals.Ribbons[inspector].Ribbon1; //This always return null!!!
((Outlook.InspectorEvents_10_Event)inspector).Activate += InspectorActivate;
((Outlook.InspectorEvents_10_Event)inspector).Close += InspectorClose;
_openInspectors.Add(inspector);
}
Compartir su fuente de cómo se cablea 'InspectorsNewInspector'. Toda la clase AddIn será beneficiosa para el contexto. – SliverNinja