как добавить скрипт в эксель

Объектная модель JavaScript для Excel в надстройках Office

В этой статье описано, как создавать надстройки для Excel 2016 или более поздней версии с помощью API JavaScript для Excel. В статье изложены основные принципы, которые являются фундаментальными при использовании этого API, а также имеются рекомендации по выполнению определенных задач, например чтению данных из большого диапазона или записи данных в него, изменения всех ячеек в диапазоне и много другого.

Сведения об асинхронном типе интерфейсов API Excel и принципах их работы с книгой см. в статье Использование модели API, зависящей от приложения.

Интерфейсы API Office.js для Excel

Надстройка Excel взаимодействует с объектами в Excel с помощью API JavaScript для Office, включающего две объектных модели JavaScript:

API JavaScript для Excel. Появившийся в Office 2016 API JavaScript для Excel предоставляет строго типизированные объекты, с помощью которых можно получать доступ к листам, диапазонам, таблицам, диаграммам и другим объектам.

Общие API. Появившиеся в Office 2013 общие API можно использовать для доступа к таким компонентам, как пользовательский интерфейс, диалоговые окна и параметры клиентов, общие для нескольких типов приложений Office.

Скорее всего, вы будете разрабатывать большую часть функций надстроек для Excel 2016 или более поздней версии с помощью API JavaScript для Excel, но вам также потребуются объекты из общего API. Например:

На рисунке ниже показано, когда можно использовать API JavaScript для Excel или общие API.

как добавить скрипт в эксель

Объектная модель для Excel

Чтобы понять API-интерфейсы Excel, вы должны понимать, как компоненты рабочей книги связаны друг с другом.

Диапазоны

Образец диапазона

В следующем примере показано, как создавать записи продаж. Эта функция использует объекты Range для установки значений, формул и форматов.

В этом примере создаются следующие данные в текущем листе.

как добавить скрипт в эксель

Диаграммы, таблицы и другие объекты данных

API JavaScript для Excel могут создавать и управлять структурами данных и визуализациями в Excel. Таблицы и диаграммы являются двумя наиболее часто используемыми объектами, но API поддерживают сводные таблицы, фигуры, изображения и многое другое.

Создание таблицы

Создайте таблицы с помощью диапазонов данных. Форматирование и элементы управления таблицами (например, фильтры) автоматически применяются к диапазону.

В следующем примере создается таблица с использованием диапазонов из предыдущего примера.

Использование этого примера кода на листе с предыдущими данными создает следующую таблицу.

как добавить скрипт в эксель

Создание диаграммы

Создайте диаграммы для визуализации данных в диапазоне. API поддерживают десятки разновидностей диаграмм, каждая из которых может быть настроена в соответствии с вашими потребностями.

В следующем примере создается простая гистограмма для трех элементов, которая размещается на 100 пикселей ниже верхней части листа.

Выполнение этого примера на листе с предыдущей таблицей создает следующую диаграмму.

Источник

Автоматизация Excel с веб-страницы HTML с помощью JScript

Сводка

В этой статье показано, как создавать книгу Microsoft Office Excel и управлять ей на основе HTML-страницы.

Дополнительные сведения

В этой статье показан код JScript, который автоматизирует Excel. В JScript нет внутренних средств создания SAFEARRAY. При использовании автоматизации при вызове функции, требующей SAFEARRAY, можно использовать VBScript для создания SAFEARRAY. Приведенный ниже код демонстрирует это сочетание кода JScript и VBScript.

Построение примера автоматизации

Вставьте следующий код в Блокнот.

Сохраните файл в выбранном каталоге с именем файла Ексцелаут. htm.

Закройте Блокнот и запустите Internet Explorer.

В адресной строке введите C:** путь * * \ексцелаут.хтм, где путь — это каталог, в котором сохранен файл.

Когда Internet Explorer загрузит файл, вы увидите одно предложение с кнопкой. При нажатии кнопки Excel запускается на компьютере клиента и заполняется данными.

Ссылки

В этой статье параллельно используются другие статьи, в которых описывается один и тот же процесс с использованием разных языков. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

219151 как автоматизировать Microsoft Excel в Visual Basic

179706 как использовать MFC для автоматизации Excel и создания и форматирования новой книги

Чтобы получить дополнительные сведения об автоматизации Excel на HTML-странице, щелкните следующий номер статьи базы знаний Майкрософт:

198703 как автоматизировать Excel из клиентского скрипта VBScript

Для получения дополнительных сведений об автоматизации Office посетите следующий веб-сайт поддержки разработки Microsoft Office: Служба поддержки Майкрософт

Источник

Работа с таблицами с использованием API JavaScript для Excel

В этой статье приведены примеры кода, в которых показано, как выполнять стандартные задачи для таблиц с использованием API JavaScript для Excel. Полный список свойств и методов, поддерживаемых объектами и объектами, см. в таблице Object Table TableCollection (API JavaScript для Excel) и TableCollection Object (API JavaScriptдля Excel).

Создание таблицы

В примере кода ниже показано, как создать таблицу на листе Sample (Пример). В таблице имеются заголовки, а также четыре столбца и семь строк с данными. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Чтобы указать имя таблицы, сначала необходимо создать таблицу, а затем задать ее свойство, как показано name в следующем примере.

Новая таблица

как добавить скрипт в эксель

Добавление строк в таблицу

В примере ниже показано, как добавить семь новых строк в таблицу ExpensesTable (Таблица расходов) на листе Sample (Пример). Новые строки будут добавлены в конец таблицы. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Свойство объекта TableRow указывает номер индекса строки в коллекции строк index таблицы. Объект TableRow не содержит id свойства, которые можно использовать в качестве уникального ключа для идентификации строки.

Добавление строк в таблицу из надстройки контента приведет к утечке памяти. См. GitHub выпуск #1415 текущего состояния и дополнительные сведения.

Таблица с новыми строками

как добавить скрипт в эксель

Добавление столбца в таблицу

В примерах ниже показано, как добавить столбец в таблицу. В первом примере показано, как заполнить новый столбец статическими значениями, во втором — как заполнить новый столбец формулами.

Свойство index объекта TableColumn указывает номер индекса столбца в коллекции столбцов таблицы. Свойство id объекта TableColumn содержит уникальный ключ, идентифицирующий столбец.

Добавление столбца, содержащего статические значения

В примере кода ниже показано, как добавить новый столбец в таблицу ExpensesTable (Таблица расходов) на листе Sample (Пример). Новый столбец будет добавлен после всех существующих столбцов в таблице. Он будет содержать заголовок Day of the Week (День недели), а также данные для заполнения ячеек в столбце. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Таблица с новым столбцом

как добавить скрипт в эксель

Добавление столбца, содержащего формулы

В примере кода ниже показано, как добавить новый столбец в таблицу ExpensesTable (Таблица расходов) на листе Sample (Пример). Новый столбец будет добавлен в конец таблицы, будет содержать заголовок Type of the Day (Тип дня), и в нем будет использована формула для заполнения каждой ячейки столбца. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Таблица с новым столбцом, содержащим вычисленные значения

как добавить скрипт в эксель

Resize a table

Надстройка может изменять объем таблицы без добавления данных в таблицу или изменения значений ячейки. Чтобы повторно использовать таблицу, используйте метод Table.resize. В следующем примере кода показано, как сделать таблицу повторной. В этом примере кода используется Раздел ExpensesTable из раздела Создание таблицы ранее в этой статье и задает новый диапазон таблицы A1:D20.

Новый диапазон таблицы должен совпадать с исходным диапазоном, а загонщики (или верхняя часть таблицы) должны быть в одной строке.

Таблица после повторного

как добавить скрипт в эксель

Изменение имени столбца

В примере кода ниже показано, как изменить имя первого столбца в таблице на Purchase date. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Таблица со столбцом с новым именем

как добавить скрипт в эксель

Получение данных из таблицы

В примере кода ниже показано, как считать данные из таблицы ExpensesTable (Таблица расходов), размещенной на листе Sample (Пример), а затем отобразить эти данные под таблицей на том же листе.

Таблица и выведенные данные

как добавить скрипт в эксель

Обнаружение изменений данных

Возможно, надстройке потребуется реагировать на изменения пользователями данных в таблице. Чтобы обнаружить эти изменения, можно зарегистрировать обработчик событий для события onChanged таблицы. Обработчики события onChanged получают объект TableChangedEventArgs при возникновении события.

Объект TableChangedEventArgs предоставляет сведения об изменениях и источнике. Так как событие onChanged возникает при изменении формата или значения данных, может быть полезно, чтобы надстройка проверяла, действительно ли значения изменились. Свойство details объединяет эти сведения в виде интерфейса ChangedEventDetail. В следующем примере кода показано, как отобразить значения и типы измененной ячейки до и после изменения.

Сортировка данных в таблице

В примере кода ниже показано, как отсортировать данные по убыванию в четвертом столбце таблицы.

Данные таблицы, отсортированные по столбцу Amount (Сумма) в порядке убывания

как добавить скрипт в эксель

При сортировке данных на листе создается уведомление о событии. Дополнительные сведения о событиях, связанных с сортировкой, и о регистрации обработчиков событий надстройкой в ответ на такие события см. в статье Обработка событий сортировки.

Применение фильтров к таблице

В примере кода ниже показано, как применить фильтры для столбцов Amount (Сумма) и Category (Категория) в таблице. В результате применения фильтров будут отображены только те строки, у которых в столбце Category (Категория) содержится одно из указанных значений, а значения в столбце Amount (Сумма) меньше среднего значения для всех строк.

Таблица данных, в которой применены фильтры для столбцов Category (Категория) и Amount (Сумма)

как добавить скрипт в эксель

Удаление фильтров в таблице

В примере кода ниже показано, как удалить все фильтры, примененные к таблице.

Данные таблицы без фильтров

как добавить скрипт в эксель

Получение отображаемого диапазона из отфильтрованной таблицы

В примере кода ниже показано, как получить диапазон, содержащий данные только из тех ячеек, которые в данный момент отображаются в указанной таблице, и записать значения из этого диапазона в консоль. Метод, как показано ниже, можно использовать для получения видимого содержимого таблицы при применении фильтров getVisibleView() столбцов.

Автофильтр

Надстройка может использовать объект AutoFilter таблицы для фильтрации данных. Объект AutoFilter является целой структурой фильтра таблицы или диапазона. Все операции фильтрации, описанные выше в этой статье, совместимы с автофильтром. Единая точка доступа упрощает доступ к нескольким фильтрам и управление ими.

В следующем примере кода показана такая же фильтрация данных, как в примере кода выше, но выполненная полностью с помощью автофильтра.

Объект AutoFilter можно также применять к диапазону на уровне листа. Дополнительные сведения см. в статье Работа с листами с использованием API JavaScript для Excel.

Форматирование таблицы

В примере кода ниже показано, как применить форматирование к таблице. В примере показано, как указать различные цвета заливки для строки заголовков, основной части, второй строки и первого столбца таблицы. Сведения о свойствах, которые вы можете использовать для задания формата, см. в статье Объект RangeFormat (API JavaScript для Excel).

Таблица после применения форматирования

как добавить скрипт в эксель

Преобразование диапазона в таблицу

В примере кода ниже показано, как создать диапазон данных и преобразовывать его в таблицу.

Данные в диапазоне (перед его преобразованием в таблицу)

как добавить скрипт в эксель

Данные в таблице (после преобразования диапазона в таблицу)

как добавить скрипт в эксель

Импорт данных JSON в таблицу

В примере кода ниже показано, как создать таблицу на листе Sample (Пример), а затем заполнить ее с помощью объекта JSON, который определяет две строки данных. Если Excel, в котором работает код, поддерживает набор требований ExcelApi 1.2, то ширина столбцов и высота строк лучше всего соответствуют текущим данным в таблице.

Источник

Основные сценарии Office скриптов в Excel в Интернете

Следующие примеры — это простые сценарии, которые можно попробовать в собственных книгах. Чтобы использовать их в Excel в Интернете:

Основы скрипта

В этих примерах демонстрируются основные строительные блоки для Office скриптов. Расширите эти скрипты, чтобы расширить решение и решить распространенные проблемы.

Чтение и журнал одной ячейки

В этом примере считывать значение A1 и печатать его на консоли.

Чтение активной ячейки

В этом скрипте региструется значение текущей активной ячейки. Если выбрано несколько ячеек, будет зарегистрирована верхняя левая ячейка.

Изменение соседней ячейки

Этот скрипт получает соседние ячейки с использованием относительных ссылок. Обратите внимание, что если активная ячейка находится в верхнем ряду, часть скрипта не работает, так как она ссылается на ячейку выше выбранной в настоящее время.

Изменение всех смежных ячеек

Этот скрипт копирует форматирование в активной ячейке в соседние ячейки. Обратите внимание, что этот скрипт работает только тогда, когда активная ячейка не на краю таблицы.

Изменение каждой отдельной ячейки в диапазоне

Этот скрипт цикличен по диапазону выбора в настоящее время. Он очищает текущее форматирование и задает цвет заполнения в каждой ячейке случайным цветом.

Получить группы ячеек на основе специальных критериев

Этот скрипт получает все пустые ячейки в используемом диапазоне текущего листа. Затем он выделяет все эти ячейки с желтым фоном.

Коллекции

Эти примеры работают с коллекциями объектов в книге.

Итерации над коллекциями

Этот скрипт получает и записывает имена всех таблиц в книге. Он также задает цвета вкладки случайным цветом.

Запрос и удаление из коллекции

Этот скрипт создает новую таблицу. Он проверяет существующую копию листа и удаляет его перед созданием нового листа.

В примерах этого раздела покажите, как использовать объект даты JavaScript.

Следующий пример получает текущую дату и время, а затем записывает эти значения в две ячейки в активном таблице.

В следующем примере считываю дату, храняную в Excel, и переводим ее на объект JavaScript Date. В качестве ввода для даты JavaScript используется числовый серийный номер даты.

Отображение данных

В этих примерах показано, как работать с данными таблицы и предоставить пользователям лучшее представление или организацию.

Применение условного форматирования

В этом примере применяется условное форматирование к используемой в настоящее время линейке в таблице. Условное форматирование — это зеленое заполнение для 10% значений.

Создание отсортировать таблицу

В этом примере создается таблица из используемого диапазона текущего таблицы, а затем сортируются на основе первого столбца.

Журнал значений «Grand Total» из pivotTable

В этом примере находится первый pivotTable в книге и регистрируемые значения в ячейках «Grand Total» (как выделено зеленым цветом на рисунке ниже).

как добавить скрипт в эксель

Создание выпадаемого списка с помощью проверки данных

В этом скрипте создается список выбора для ячейки. Он использует существующие значения выбранного диапазона в качестве выбора для списка.

как добавить скрипт в эксель

Формулы

В этих примерах Excel формулы и покажите, как работать с ними в сценариях.

Единая формула

Этот скрипт задает формулу ячейки, а затем отображает, как Excel хранит формулу и значение ячейки отдельно.

Обработка #SPILL! ошибки, возвращаемой из формулы

Этот скрипт передает диапазон «A1:D2» на «A4:B7» с помощью функции TRANSPOSE. Если переливание приводит к ошибке, он очищает целевой диапазон и снова #SPILL применяет формулу.

Предложить новые примеры

Мы приветствуем предложения по новым образцам. Если существует распространенный сценарий, который поможет другим разработчикам сценариев, сообщите нам об этом в разделе отзывов в нижней части страницы.

Источник

Запись, редактирование и создание сценариев Office в Excel в Интернете

В этом учебнике вы ознакомитесь с основами записи, редактирования и создания сценария Office для Excel в Интернете. Вы запишите сценарий, применяющий форматирование к листу продаж. После этого вы измените записанный сценарий, чтобы применить дополнительное форматирование, создать таблицу и отсортировать ее. Эта шаблон записи с последующим изменением является важным инструментом для просмотра ваших действий Excel в виде кода.

Необходимые компоненты

Перед началом работы с этим учебником у вас должен быть доступ к сценариям Office. Для этого требуется следующее:

Этот учебник предназначен для пользователей с начальным и средним уровнем знаний по JavaScript или TypeScript. Если вы впервые работаете с JavaScript, рекомендуем начать с учебника Mozilla по JavaScript. Чтобы получить дополнительные сведения о среде сценариев, ознакомьтесь со статьей Среда редактора кода сценариев Office.

Добавление данных и запись простого сценария

Сначала нам потребуются некоторые данные и небольшой начальный сценарий.

Создайте книгу в Excel в Интернете.

Скопируйте следующие данные о продаже фруктов и вставьте их на лист, начиная с ячейки A1.

Фрукты20182019
Апельсины10001200
Лимоны800900
Лаймы600500
Грейпфруты900700

Откройте вкладку Автоматизация. Если вы не видите вкладку Автоматизация, проверьте переполнение ленты, нажав стрелку раскрывающегося списка. Если нужного элемента по-прежнему нет, выполните рекомендации из статьи Устранение неполадок в сценариях Office.

Нажмите кнопку Записать действия.

Выделите ячейки A2:C2 (строка «Апельсины») и установите оранжевый цвет заливки.

Чтобы остановить запись, нажмите кнопку Остановить.

Ваш лист должен выглядеть, как показано ниже (не волнуйтесь, если цвет отличается):

как добавить скрипт в эксель

Редактирование существующего сценария

Предыдущий сценарий окрасил строку «Апельсины» в оранжевый цвет. Давайте добавим желтый цвет для строки «Лимоны».

В открывшейся области Сведения нажмите кнопку Изменить.

Должен отобразиться примерно такой код:

Этот код получает текущий лист из книги. Затем он настраивает цвет заливки диапазона A2:C2.

Диапазоны — это фундаментальная часть сценариев Office в Excel в Интернете. Диапазон — это непрерывный прямоугольный блок ячеек, содержащий значения, формулы и форматирование. Они представляют собой базовую структуру ячеек, в которой можно выполнять большинство задач сценариев.

Добавьте следующую строку в конце сценария (между местом настройки значения color и закрывающей скобкой > ):

Протестируйте сценарий, нажав Запустить. Книга должна выглядеть следующим образом:

как добавить скрипт в эксель

Создание таблицы

Давайте преобразуем эти данные продаж фруктов в таблицу. Мы воспользуемся собственным сценарием для всего процесса.

Добавьте следующую строку в конце сценария (перед закрывающей скобкой > ):

Ваш сценарий должен выглядеть так:

Запустите сценарий. Вы увидите следующую таблицу:

как добавить скрипт в эксель

При повторном запуске сценария возникнет ошибка. Это связано с тем, что вы не можете создать таблицу поверх другой таблицы. Однако вы можете запустить этот сценарий на другом листе или в другой книге.

Повторный запуск сценария

Дальнейшие действия

Выполните инструкции учебника Чтение данных книги с помощью сценариев Office в Excel в Интернете. С его помощью вы научитесь читать данные из книги с помощью сценариев Office.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *