Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
En este artículo se describe la solución de problemas que son únicos para Excel. Use la herramienta de comentarios de la parte inferior de la página para sugerir otros problemas que se pueden agregar al artículo.
Limitaciones de API cuando cambia el libro activo
Los complementos para Excel están diseñados para funcionar en un solo libro a la vez. Los errores pueden surgir cuando un libro que es independiente del que ejecuta el complemento obtiene el foco. Esto solo ocurre cuando determinados métodos están en proceso de llamada cuando cambia el foco.
Este modificador de libro afecta a las siguientes API.
| API de JavaScript de Excel | Error generado |
|---|---|
Chart.activate |
GeneralException |
Range.select |
GeneralException |
Table.clearFilters |
GeneralException |
Workbook.getActiveCell |
InvalidSelection |
Workbook.getSelectedRange |
InvalidSelection |
Workbook.getSelectedRanges |
InvalidSelection |
Worksheet.activate |
GeneralException |
Worksheet.delete |
InvalidSelection |
Worksheet.gridlines |
GeneralException |
Worksheet.showHeadings |
GeneralException |
WorksheetCollection.add |
GeneralException |
WorksheetFreezePanes.freezeAt |
GeneralException |
WorksheetFreezePanes.freezeColumns |
GeneralException |
WorksheetFreezePanes.freezeRows |
GeneralException |
WorksheetFreezePanes.getLocationOrNullObject |
GeneralException |
WorksheetFreezePanes.unfreeze |
GeneralException |
Nota:
Esto solo se aplica a varios libros de Excel abiertos en Windows o Mac.
conflictos de combinación y Coautoría
Vea Coautoría en complementos de Excel para ver los patrones que se usan con eventos en un entorno de coautoría. En el artículo también se describen los posibles conflictos de combinación al usar determinadas API, como TableRowCollection.add.
Problemas conocidos
Los eventos de enlace devuelven objetos temporales Binding
Tanto BindingDataChangedEventArgs.binding comoBindingSelectionChangedEventArgs.binding devuelven un objeto temporal Binding que contiene el identificador del Binding objeto que generó el evento. Use este identificador con BindingCollection.getItem(id) para recuperar el Binding objeto que generó el evento.
En el ejemplo de código siguiente se muestra cómo usar este identificador de enlace temporal para recuperar el objeto relacionado Binding . En el ejemplo, se asigna un agente de escucha de eventos a un enlace. El agente de escucha llama al getBindingId método cuando se desencadena el onDataChanged evento. El getBindingId método usa el identificador del objeto temporal Binding para recuperar el Binding objeto que generó el evento.
async function run() {
await Excel.run(async (context) => {
// Retrieve your binding.
let binding = context.workbook.bindings.getItemAt(0);
await context.sync();
// Register an event listener to detect changes to your binding
// and then trigger the `getBindingId` method when the data changes.
binding.onDataChanged.add(getBindingId);
await context.sync();
});
}
async function getBindingId(eventArgs) {
await Excel.run(async (context) => {
// Get the temporary binding object and load its ID.
let tempBindingObject = eventArgs.binding;
tempBindingObject.load("id");
// Use the temporary binding object's ID to retrieve the original binding object.
let originalBindingObject = context.workbook.bindings.getItem(tempBindingObject.id);
// You now have the binding object that raised the event: `originalBindingObject`.
});
}
Problemas y useStandardWidth formato useStandardHeight de celda
La propiedad useStandardHeight de CellPropertiesFormat no funciona correctamente en Excel en la Web. Debido a un problema en la interfaz de usuario de Excel en la Web, establecer la propiedad para true calcular el useStandardHeight alto de forma imprecisa en esta plataforma. Por ejemplo, un alto estándar de 14 se modifica a 14,25 en Excel en la Web.
En todas las plataformas, las propiedades useStandardHeight y useStandardWidth de CellPropertiesFormat solo están diseñadas para establecerse en true. Establecer estas propiedades false en no tiene ningún efecto.
Límite de caracteres devueltos por intervalo
Los métodos Worksheet.getRange(address) y Worksheet.getRanges(address) tienen un límite de cadena de dirección de 8192 caracteres. Cuando se supera este límite, la cadena de dirección se trunca a 8192 caracteres.