Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье рассматриваются проблемы, которые являются уникальными для Excel. Используйте средство обратной связи в нижней части страницы, чтобы предложить другие проблемы, которые можно добавить в статью.
Ограничения API при переключениях активной книги
Надстройки для Excel предназначены для работы с одной книгой одновременно. Ошибки могут возникать, когда основное внимание уделяется книге, отдельной от книги, выполняющей надстройку. Это происходит только в том случае, если определенные методы вызываются при изменении фокуса.
Этот параметр книги влияет на следующие API.
| API JavaScript для Excel | Возникла ошибка |
|---|---|
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 |
Примечание.
Это относится только к нескольким книгам Excel, открытым в Windows или Mac.
конфликты Совместная работа и слияния
Шаблоны для использования с событиями в среде совместного редактирования см. в статье Совместная работа в надстройках Excel. В этой статье также рассматриваются потенциальные конфликты слияния при использовании определенных API, таких как TableRowCollection.add.
Известные проблемы
События привязки возвращают временные Binding объекты
Как BindingDataChangedEventArgs.binding, так и BindingSelectionChangedEventArgs.binding возвращают временный Binding объект, содержащий идентификатор Binding объекта, вызвавшей событие. Используйте этот идентификатор с BindingCollection.getItem(id) , чтобы получить Binding объект, который вызвал событие.
В следующем примере кода показано, как использовать этот временный идентификатор привязки для получения связанного Binding объекта. В примере прослушиватель событий назначается привязке. Прослушиватель вызывает метод при getBindingId активации onDataChanged события. Метод getBindingId использует идентификатор временного Binding объекта для получения Binding объекта, вызвавщего событие.
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`.
});
}
Формат useStandardHeight ячейки и useStandardWidth проблемы
Свойство CellPropertiesFormatuseStandardHeight не работает должным образом в Excel в Интернете. Из-за проблемы в пользовательском интерфейсе Excel в Интернете установка useStandardHeight свойства в значение true некорректно вычисляет высоту на этой платформе. Например, стандартная высота 14 изменяется на 14,25 в Excel в Интернете.
На всех платформах свойства CellPropertiesFormatuseStandardHeight и useStandardWidth имеют только значение true. Установка этих свойств на значение false не оказывает влияния.
Диапазон возвращаемых символов
Методы Worksheet.getRange(address) и Worksheet.getRanges(address) имеют ограничение строки адреса в 8192 символа. При превышении этого ограничения адресная строка усекается до 8192 символов.