Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede configurar el complemento de Office para cargar y ejecutar código en cuanto se abra el documento. Esto es útil si necesita registrar controladores de eventos, cargar previamente datos para el panel de tareas, sincronizar la interfaz de usuario o realizar otras tareas antes de que el complemento sea visible.
Sugerencia
En este artículo se describe una característica que permite a un complemento configurarse mediante programación para ejecutar código cuando se abre un documento. La técnica tiene alcance documental, lo que significa que debe aplicarse a cada documento individualmente. Esta característica es distinta de tres características similares:
- Se puede configurar un complemento en el manifiesto para ejecutar código cuando se abra cualquier documento. Esta característica tiene ámbito de aplicación de Office. Después de que un administrador de Microsoft 365 instale un complemento en el portal de Administración del inquilino de Microsoft 365, el complemento se inicia y ejecuta código en cada documento de Office que se abre en las aplicaciones de Office para las que el complemento, en el manifiesto, está configurado. Para obtener más información, vea Activar complementos con eventos, especialmente la información sobre el
OnDocumentOpenedevento. - Un complemento puede configurar mediante programación un documento para abrir automáticamente el panel de tareas del complemento cuando se abra el documento. Esta característica también debe aplicarse a cada documento individualmente. Para obtener más información, vea Abrir automáticamente un panel de tareas con un documento.
- Se puede configurar un complemento en el manifiesto para abrir su panel de tareas cuando un usuario final instala el complemento . Esta característica se limita a un único documento: el que está abierto cuando se instala el complemento. Para obtener más información, vea Abrir automáticamente un panel de tareas cuando se instala un complemento.
La configuración se implementa con un método al que el código llama en tiempo de ejecución. Esto significa que el complemento no se ejecutará la primera vez que un usuario abra el documento. El complemento debe abrirse manualmente por primera vez en cualquier documento. Después de que se ejecute el método, ya sea en Office.initialize, Office.onReady o porque el usuario toma una ruta de acceso de código que lo ejecuta; A continuación, cada vez que se vuelve a abrir el documento, el complemento se carga inmediatamente y se ejecuta cualquier código del Office.initialize método OR Office.onReady .
Nota:
En este artículo se requiere que el complemento de Office esté configurado para usar un entorno de ejecución compartido. Para obtener más información, vea Configurar el complemento de Office para usar un entorno de ejecución compartido.
Importante
El tiempo de ejecución compartido solo se admite en algunas aplicaciones de Office. Para obtener más información, vea Conjuntos de requisitos de runtime compartido.
Configurar el complemento para que se cargue cuando se abra el documento
El siguiente código configura el complemento para que se cargue y empiece a ejecutarse cuando se abra el documento.
Office.addin.setStartupBehavior(Office.StartupBehavior.load);
Nota:
El setStartupBehavior método es asincrónico.
Colocar código de inicio en Office.initialize o Office.onReady
Cuando el complemento esté configurado para cargarse al abrir un documento, se ejecutará inmediatamente. Se Office.initialize llamará al controlador de eventos. Coloque el código de inicio en el Office.initialize controlador de eventos o Office.onReady .
El siguiente código de complemento de Excel muestra cómo registrar un controlador de eventos para eventos de cambios de la hoja de cálculo activa. Si configura el complemento para cargarlo al abrir un documento, este código registrará el controlador de eventos cuando se abra el documento. Puede controlar los eventos de cambio antes de que se abra el panel de tareas.
// This is called as soon as the document opens.
// Put your startup code here.
Office.initialize = () => {
// Add the event handler.
Excel.run(async context => {
let sheet = context.workbook.worksheets.getActiveWorksheet();
sheet.onChanged.add(onChange);
await context.sync();
console.log("A handler has been registered for the onChanged event.");
});
};
/**
* Handle the changed event from the worksheet.
*
* @param event The event information from Excel
*/
async function onChange(event) {
await Excel.run(async (context) => {
await context.sync();
console.log("Change type of event: " + event.changeType);
console.log("Address of event: " + event.address);
console.log("Source of event: " + event.source);
});
}
El siguiente código de complemento de PowerPoint muestra cómo registrar un controlador de eventos para eventos de cambio de selección del documento de PowerPoint. Si configura el complemento para cargarlo al abrir un documento, este código registrará el controlador de eventos cuando se abra el documento. Puede controlar los eventos de cambio antes de que se abra el panel de tareas.
// This is called as soon as the document opens.
// Put your startup code here.
Office.onReady(info => {
if (info.host === Office.HostType.PowerPoint) {
Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, onChange);
console.log("A handler has been registered for the onChanged event.");
}
});
/**
* Handle the changed event from the PowerPoint document.
*
* @param event The event information from PowerPoint
*/
async function onChange(event) {
console.log("Change type of event: " + event.type);
}
Configurar el complemento para que no se cargue al abrir un documento
Puede haber escenarios en los que quiera desactivar el comportamiento "Ejecutar al abrir el documento". El siguiente código configura el complemento para que no se inicie al abrir el documento. En su lugar, se iniciará cuando el usuario lo involucre de alguna manera, como elegir un botón de la cinta o abrir el panel de tareas. Este código no tiene ningún efecto si el método no se ha llamado previamente en el documento actual, con Office.StartupBehavior.load el parámetro como parámetro.
Nota:
Si el complemento llama al método, con Office.StartupBehavior.load como parámetro, en Office.initialize o Office.onReady, el comportamiento se activa de nuevo. Por lo tanto, en este escenario, desactivarla solo se aplica a la próxima vez que se abra el documento, no a todas las aperturas posteriores.
Office.addin.setStartupBehavior(Office.StartupBehavior.none);
Obtener el comportamiento de carga actual
Puede haber escenarios en los que el complemento necesite saber si está configurado para iniciarse automáticamente la próxima vez que se abra el documento actual. Para determinar cuál es el comportamiento de inicio actual, ejecute el siguiente método, que devuelve un valor Office.StartupBehavior .
let behavior = await Office.addin.getStartupBehavior();
Vea también
- Configure el complemento de Office para usar un entorno de ejecución compartido
- Compartir datos y eventos entre Excel, funciones personalizadas y panel de tareas tutorial
- Trabajar con Eventos mediante la API de JavaScript de Excel
- Entornos de ejecución en complementos de Office
- Administrar opciones de confianza para complementos de Office