Тот факт, что режим редактирования приводит к сбою любого вызова API, является «известной проблемой» и не может быть исправлен - даже VBA демонстрирует ту же проблему для [большинства] вызовов API. и большинство действий на ленте отключены. То же самое относится и к API-интерфейсам надстроек Office.
Поэтому при входе в режим редактирования ячейки происходит сбой вызова API и создается исключение InvalidOperationInCellEditMode
.
Обходной путь не уверен, можно ли использовать в ваш сценарий:
Excel.run
имеет перегрузку, которая принимает RunOptions
объект. Он содержит набор свойств, которые влияют на поведение платформы при запуске функции. есть свойство: delayForCellEdit
Определяет, задерживает ли Excel пакетный запрос, пока пользователь не выйдет из режима редактирования ячейки. При значении true пакетный запрос задерживается и выполняется, когда пользователь выходит из режима редактирования ячейки. При значении false пакетный запрос автоматически завершается неудачей, если пользователь находится в режиме редактирования ячейки (что приводит к ошибке, доходящей до пользователя). Поведение по умолчанию без указания свойства delayForCellEdit
эквивалентно тому, когда оно ложно.
Вы можете обратиться к этой статье: https://docs.microsoft.com/en-us/javascript/api/excel/excel.runoptions?view=excel-js-preview#delayforcelledit
Для Cra sh проблема, я не могу ее воспроизвести. было бы здорово, если бы вы могли поделиться еще советами по репро информации, спасибо.