Вы можете видеть IntelliSense для других типов в пределах этого .run
? I.e., есть ли у вас все до такой степени, когда вы получаете диапазон от именованного элемента? Если вы хотите получить диапазон по-разному (например, context.workbook.getSelectedRange()
), вы получаете IntelliSense?
Это может быть связано с проблемой (теперь исправленной), когда CDN случайно удалил метод namedItem.getRange
(это было единственное, на что это было затронуто, и мы внесли меры, чтобы гарантировать, что мы поймаем их в будущем) , См. «Can't get range from a defined name». CDN был исправлен пару недель назад, но файл JS IntelliSense («VSDOC»), вероятно, не имел. Если это так, это проблема времени в момент, которая должна быть решена очень скоро, так как новые развертывания CDN будут иметь метод getRange
как в VSDOC, так и во всем мире.
FWIW, вы все еще можете столкнуться с ограничениями движка JS IntelliSense (их, к сожалению, много: например, пытается передать значения через Promises или передавать объекты API в качестве параметров для функций). Единственным истинным хорошим решением для этого является использование TypeScript, который позволяет декларативно утверждать компилятору/IntelliSense-движок, что «Я знаю, что этот тип - это Excel.Range!») - и предлагает ряд других лакомств, async/await
- очень важный. Я лично считаю, что если вы действительно хотите «премьера» опыта Office.js-кодирования, TypeScript - это путь. С этой целью я описываю, как использовать TypeScript в моей книге, "Building Office Add-ins using Office.js" (полное раскрытие, я автор, но у меня было много комментариев читателей о том, насколько полезен ресурс, которым они были для них). Книга очень похожа на TypeScript, и IntelliSense является одной из причин (и async/await
и let
являются первыми другими), хотя я также предлагаю Приложение, в котором описываю JavaScript только для выполнения тех же задач Office.js. Для начала работы с использованием TypeScript требуется лишь небольшое количество усилий, и, как только вы это сделаете, я не думаю, что вы оглянетесь.
Hi Frederic Le Guen, ваша проблема решена или нет? –