#office365 #office-js #excel-addins
#office365 #office-js #excel-дополнения
Вопрос:
Мы создали надстройку панели задач Excel, которая в основном работает с таблицами. У нас есть некоторый код, который выполняет TableCollection.add(rangeAddress, true). Этот вызов завершается ошибкой, когда имя листа в ‘rangeAddress’ содержит специальные символы.
Например —
ctx.workbook.tables.add(Sheet!A1:E4, true)
работает нормально, но,
ctx.workbook.tables.add(Sheet-Name!A1:E4, true)
выдает ошибку
{
"name": "OfficeExtension.Error",
"code": "InvalidArgument",
"message": "The argument is invalid or missing or has an incorrect format.",
"traceMessages": [],
"debugInfo": {
"errorLocation": "TableCollection.add"
}
}
Пожалуйста, обратите внимание, что второй пример адреса содержит специальный символ ‘-‘ в названии листа. Есть ли способ поддерживать специальные символы в имени листа?
Комментарии:
1. Я предполагаю, что имя листа и адрес указаны в кавычках… Но помимо этого, какую платформу (настольный компьютер, онлайн, Mac, iOS) вы используете — и какой номер версии?
2. Да, rangeAddress (имя листа и адрес) заключен в кавычки (строка). Это происходит на всех платформах (не уверен насчет iOS)
3. @MichaelZlatkovsky ты не в состоянии воспроизвести это? вам нужна какая-либо другая информация?
4. Какую платформу (настольный компьютер, онлайн, Mac, iOS) вы используете — и какой номер версии?
5. @MichaelZlatkovsky Как я упоминал выше, это воспроизводимо на всех платформах. Чтобы предоставить вам конкретные сведения, можете ли вы проверить для Mac desktop (версия — 15.29 (161101))
Ответ №1:
Проблема не в API … как таковых. Это не относится и к таблицам.
В Excel, если вы создаете ссылку на перекрестный лист, и если имя листа содержит не буквенно-цифровые символы (или что-то в этом роде), вы увидите, что формула записывается как ='Some-Hyphenated-Sheet'!C27
Обратите внимание, что имя листа заключено в одинарные кавычки.
API — это всего лишь отражение собственной функциональности Excel, поэтому вам также потребуется заключить название листа в одинарные кавычки. Это:
ctx.workbook.tables.add("'Sheet-Name'!A1:E4", true)