Office.Settings interface
Representa la configuración personalizada de un complemento de panel de tareas o de contenido que se almacena en el documento host como pares de nombre y valor.
Comentarios
Aplicaciones: Excel, PowerPoint, Word
La configuración creada mediante los métodos del objeto Settings se guarda por complemento y por documento. Es decir, solo está disponible para el complemento que la creó y solo desde el documento en el que se guarda.
El nombre de una configuración es una cadena, mientras que el valor puede ser una cadena, un número, un booleano, un valor NULL, un objeto o una matriz.
El objeto Settings se carga automáticamente como parte del objeto Document y está disponible llamando a la propiedad settings de ese objeto cuando se activa el complemento.
El desarrollador es responsable de llamar al método saveAsync después de agregar o suprimir la configuración para guardar la configuración en el documento.
Métodos
add |
Agrega un controlador de eventos para el evento settingsChanged. Importante: El código del complemento puede registrar un controlador para el evento settingsChanged cuando el complemento se ejecuta con cualquier cliente de Excel, pero el evento se desencadenará solo cuando el complemento se cargue con una hoja de cálculo que se abra en Excel en la Web y más de un usuario edite la hoja de cálculo (coautoría). Por lo tanto, de forma eficaz, el evento settingsChanged solo se admite en Excel en la Web en escenarios de coautoría. |
add |
Agrega un controlador de eventos para el evento settingsChanged. Importante: El código del complemento puede registrar un controlador para el evento settingsChanged cuando el complemento se ejecuta con cualquier cliente de Excel, pero el evento se desencadenará solo cuando el complemento se cargue con una hoja de cálculo que se abra en Excel en la Web y más de un usuario edite la hoja de cálculo (coautoría). Por lo tanto, de forma eficaz, el evento settingsChanged solo se admite en Excel en la Web en escenarios de coautoría. |
get(name) | Recupera la configuración especificada. |
refresh |
Lee toda la configuración que se conserva en el documento y actualiza la copia de dicha configuración del complemento de contenido o del panel de tareas, que se conserva en la memoria. |
remove(name) | Elimina la configuración especificada. Importante: Tenga en cuenta que el método Settings.remove solo afecta a la copia en memoria del contenedor de propiedades de configuración. To persist the removal of the specified setting in the document, at some point after calling the Settings.remove method and before the add-in is closed, you must call the Settings.saveAsync method. |
remove |
Quita un controlador de eventos para el evento settingsChanged. |
remove |
Quita un controlador de eventos para el evento settingsChanged. |
save |
Mantiene la copia en memoria del contenedor de propiedades de configuración en el documento. |
save |
Mantiene la copia en memoria del contenedor de propiedades de configuración en el documento. |
set(name, value) | Define o crea la configuración especificada. Importante: Tenga en cuenta que el método Settings.set solo afecta a la copia en memoria del contenedor de propiedades de configuración. To make sure that additions or changes to settings will be available to your add-in the next time the document is opened, at some point after calling the Settings.set method and before the add-in is closed, you must call the Settings.saveAsync method to persist settings in the document. |
Detalles del método
addHandlerAsync(eventType, handler, options, callback)
Agrega un controlador de eventos para el evento settingsChanged.
Importante: El código del complemento puede registrar un controlador para el evento settingsChanged cuando el complemento se ejecuta con cualquier cliente de Excel, pero el evento se desencadenará solo cuando el complemento se cargue con una hoja de cálculo que se abra en Excel en la Web y más de un usuario edite la hoja de cálculo (coautoría). Por lo tanto, de forma eficaz, el evento settingsChanged solo se admite en Excel en la Web en escenarios de coautoría.
addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
Especifica el tipo de evento que se debe agregar. Obligatorio.
- handler
-
any
Función del controlador de eventos que se va a agregar, cuyo único parámetro es de tipo Office.SettingsChangedEventArgs. Obligatorio.
- options
- Office.AsyncContextOptions
Proporciona una opción para conservar los datos de contexto de cualquier tipo, sin cambios, para su uso en una devolución de llamada.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay datos ni objetos que recuperar al agregar un controlador de eventos. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Devoluciones
void
Comentarios
Conjunto de requisitos: no en un conjunto
Puede agregar varios controladores de eventos para el eventType especificado siempre y cuando el nombre de cada función de controlador de eventos sea único.
addHandlerAsync(eventType, handler, callback)
Agrega un controlador de eventos para el evento settingsChanged.
Importante: El código del complemento puede registrar un controlador para el evento settingsChanged cuando el complemento se ejecuta con cualquier cliente de Excel, pero el evento se desencadenará solo cuando el complemento se cargue con una hoja de cálculo que se abra en Excel en la Web y más de un usuario edite la hoja de cálculo (coautoría). Por lo tanto, de forma eficaz, el evento settingsChanged solo se admite en Excel en la Web en escenarios de coautoría.
addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
Especifica el tipo de evento que se debe agregar. Obligatorio.
- handler
-
any
Función del controlador de eventos que se va a agregar, cuyo único parámetro es de tipo Office.SettingsChangedEventArgs. Obligatorio.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay datos ni objetos que recuperar al agregar un controlador de eventos. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Devoluciones
void
Comentarios
Conjunto de requisitos: no en un conjunto
Puede agregar varios controladores de eventos para el eventType especificado siempre y cuando el nombre de cada función de controlador de eventos sea único.
Ejemplos
function addSelectionChangedEventHandler() {
Office.context.document.settings.addHandlerAsync(Office.EventType.SettingsChanged, MyHandler);
}
function MyHandler(eventArgs) {
write('Event raised: ' + eventArgs.type);
doSomethingWithSettings(eventArgs.settings);
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
get(name)
Recupera la configuración especificada.
get(name: string): any;
Parámetros
- name
-
string
Devoluciones
any
Objeto que tiene nombres de propiedad asignados a valores serializados JSON.
Comentarios
Conjunto de requisitos: Configuración
Ejemplos
function displayMySetting() {
write('Current value for mySetting: ' + Office.context.document.settings.get('mySetting'));
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
refreshAsync(callback)
Lee toda la configuración que se conserva en el documento y actualiza la copia de dicha configuración del complemento de contenido o del panel de tareas, que se conserva en la memoria.
refreshAsync(callback?: (result: AsyncResult<Office.Settings>) => void): void;
Parámetros
- callback
-
(result: Office.AsyncResult<Office.Settings>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult. La value
propiedad del resultado es un objeto Office.Settings con los valores actualizados.
Devoluciones
void
Comentarios
Conjunto de requisitos: no en un conjunto
Este método es útil en escenarios de coautoría de Excel, Word y PowerPoint cuando varias instancias del mismo complemento funcionan en el mismo documento. Dado que cada complemento funciona con una copia en memoria de la configuración cargada desde el documento en el momento en que el usuario lo abrió, los valores de configuración utilizados por cada usuario pueden salir de la sincronización. Esto puede ocurrir siempre que una instancia del complemento llame al método Settings.saveAsync para conservar toda la configuración de ese usuario en el documento. Al llamar al método refreshAsync desde el controlador de eventos para el evento settingsChanged del complemento, se actualizarán los valores de configuración de todos los usuarios.
In the callback function passed to the refreshAsync method, you can use the properties of the AsyncResult object to return the following information.
Propiedad | Utilice |
---|---|
AsyncResult.value | Tener acceso a un objeto Settings con los valores actualizados. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Ejemplos
function refreshSettings() {
Office.context.document.settings.refreshAsync(function (asyncResult) {
write('Settings refreshed with status: ' + asyncResult.status);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
remove(name)
Elimina la configuración especificada.
Importante: Tenga en cuenta que el método Settings.remove solo afecta a la copia en memoria del contenedor de propiedades de configuración. To persist the removal of the specified setting in the document, at some point after calling the Settings.remove method and before the add-in is closed, you must call the Settings.saveAsync method.
remove(name: string): void;
Parámetros
- name
-
string
Devoluciones
void
Comentarios
Conjunto de requisitos: Configuración
null es un valor válido para una configuración. Por lo tanto, si se asigna null a la configuración, no se eliminará del contenedor de propiedades de la configuración.
Ejemplos
function removeMySetting() {
Office.context.document.settings.remove('mySetting');
}
removeHandlerAsync(eventType, options, callback)
Quita un controlador de eventos para el evento settingsChanged.
removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
Especifica el tipo de evento que se debe quitar. Obligatorio.
- options
- Office.RemoveHandlerOptions
Proporciona opciones para determinar qué controladores o controladores de eventos se quitan.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: no en un conjunto
Si se omite el parámetro de controlador opcional al llamar al método removeHandlerAsync, se quitarán todos los controladores de eventos para el eventType especificado.
Cuando se ejecuta la función que pasó al parámetro callback, recibe un objeto AsyncResult al que puede acceder desde el único parámetro de la función de devolución de llamada.
En la función de devolución de llamada que se ha remitido al método removeHandlerAsync, puede usar las propiedades del objeto AsyncResult para devolver la información siguiente.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay datos ni objetos que recuperar al establecer formatos. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
removeHandlerAsync(eventType, callback)
Quita un controlador de eventos para el evento settingsChanged.
removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- eventType
- Office.EventType
Especifica el tipo de evento que se debe quitar. Obligatorio.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: no en un conjunto
Si se omite el parámetro de controlador opcional al llamar al método removeHandlerAsync, se quitarán todos los controladores de eventos para el eventType especificado.
Cuando se ejecuta la función que pasó al parámetro callback, recibe un objeto AsyncResult al que puede acceder desde el único parámetro de la función de devolución de llamada.
En la función de devolución de llamada que se ha remitido al método removeHandlerAsync, puede usar las propiedades del objeto AsyncResult para devolver la información siguiente.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay datos ni objetos que recuperar al establecer formatos. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Ejemplos
function removeSettingsChangedEventHandler() {
Office.context.document.settings.removeHandlerAsync(Office.EventType.SettingsChanged, MyHandler);
}
function MyHandler(eventArgs) {
write('Event raised: ' + eventArgs.type);
doSomethingWithSettings(eventArgs.settings);
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
saveAsync(options, callback)
Mantiene la copia en memoria del contenedor de propiedades de configuración en el documento.
saveAsync(options?: SaveSettingsOptions, callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- options
- Office.SaveSettingsOptions
Proporciona opciones para guardar la configuración.
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: Configuración
Cualquier configuración guardada anteriormente por un complemento se carga cuando se inicializa, por lo que durante la duración de la sesión solo puede usar los métodos set y get para trabajar con la copia en memoria del contenedor de propiedades de configuración. Cuando quieras conservar la configuración para que estén disponibles la próxima vez que se use el complemento, usa el método saveAsync.
Nota: El método saveAsync conserva el contenedor de propiedades de configuración en memoria en el archivo de documento. Sin embargo, los cambios en el propio archivo de documento solo se guardan cuando el usuario (o la configuración de Autorrecuperación) guarda el documento en el sistema de archivos. El método refreshAsync solo es útil en escenarios de coautoría cuando otras instancias del mismo complemento pueden cambiar la configuración y esos cambios deben estar disponibles para todas las instancias.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay ningún objeto o datos que recuperar. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
saveAsync(callback)
Mantiene la copia en memoria del contenedor de propiedades de configuración en el documento.
saveAsync(callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: Configuración
Cualquier configuración guardada anteriormente por un complemento se carga cuando se inicializa, por lo que durante la duración de la sesión solo puede usar los métodos set y get para trabajar con la copia en memoria del contenedor de propiedades de configuración. Cuando quieras conservar la configuración para que estén disponibles la próxima vez que se use el complemento, usa el método saveAsync.
Nota: El método saveAsync conserva el contenedor de propiedades de configuración en memoria en el archivo de documento. Sin embargo, los cambios en el propio archivo de documento solo se guardan cuando el usuario (o la configuración de Autorrecuperación) guarda el documento en el sistema de archivos. El método refreshAsync solo es útil en escenarios de coautoría cuando otras instancias del mismo complemento pueden cambiar la configuración y esos cambios deben estar disponibles para todas las instancias.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay ningún objeto o datos que recuperar. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Ejemplos
function persistSettings() {
Office.context.document.settings.saveAsync(function (asyncResult) {
write('Settings saved with status: ' + asyncResult.status);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
set(name, value)
Define o crea la configuración especificada.
Importante: Tenga en cuenta que el método Settings.set solo afecta a la copia en memoria del contenedor de propiedades de configuración. To make sure that additions or changes to settings will be available to your add-in the next time the document is opened, at some point after calling the Settings.set method and before the add-in is closed, you must call the Settings.saveAsync method to persist settings in the document.
set(name: string, value: any): void;
Parámetros
- name
-
string
- value
-
any
Especifica el valor que se debe almacenar.
Devoluciones
void
Comentarios
Conjunto de requisitos: Configuración
El método set crea una nueva configuración del nombre especificado si aún no existe, o establece una configuración existente del nombre especificado en la copia en memoria del contenedor de propiedades de configuración. Tras llamar al método Settings.saveAsync, el valor se almacena en el documento como la representación JSON en serie del tipo de datos correspondiente.
Ejemplos
function setMySetting() {
Office.context.document.settings.set('mySetting', 'mySetting value');
}