Запуск сценария для всех файлов Excel в папке
Этот проект выполняет набор задач автоматизации для всех файлов, расположенных в папке на OneDrive для бизнеса. Его также можно использовать в папке SharePoint. Он выполняет вычисления для файлов Excel, добавляет форматирование и вставляет комментарий, который @mentions коллеге.
Примеры файлов Excel
Скачайте highlight-alert-excel-files.zip для всех книг, необходимых для этого примера. Извлеките эти файлы в папку Sales. Добавьте следующий скрипт в коллекцию скриптов, чтобы попробовать пример самостоятельно!
Пример кода: добавление форматирования и вставка комментария
Это скрипт, который выполняется в каждой отдельной книге. В Excel используйте команду Автоматизировать>новый скрипт , чтобы вставить код и сохранить скрипт. Сохраните его как скрипт проверки и попробуйте пример самостоятельно!
function main(workbook: ExcelScript.Workbook) {
// Get the table named "Table1" in the workbook.
const table1 = workbook.getTable("Table1");
// If the table is empty, end the script.
const rowCount = table1.getRowCount();
if (rowCount === 0) {
return;
}
// Force the workbook to be completely recalculated.
workbook.getApplication().calculate(ExcelScript.CalculationType.full);
// Get the "Amount Due" column from the table.
const amountDueColumn = table1.getColumnByName('Amount Due');
const amountDueValues = amountDueColumn.getRangeBetweenHeaderAndTotal().getValues();
// Find the highest amount that's due.
let highestValue = amountDueValues[0][0];
let row = 0;
for (let i = 1; i < amountDueValues.length; i++) {
if (amountDueValues[i][0] > highestValue) {
highestValue = amountDueValues[i][0];
row = i;
}
}
let highestAmountDue = table1.getColumn("Amount due").getRangeBetweenHeaderAndTotal().getRow(row);
// Set the fill color to yellow for the cell with the highest value in the "Amount Due" column.
highestAmountDue.getFormat().getFill().setColor("FFFF00");
// Insert an @mention comment in the cell.
workbook.addComment(highestAmountDue, {
mentions: [{
email: "AdeleV@M365x904181.OnMicrosoft.com",
id: 0,
name: "Adele Vance"
}],
richContent: "<at id=\"0\">Adele Vance</at> Please review this amount"
}, ExcelScript.ContentType.mention);
}
Поток Power Automate: выполнение скрипта для каждой книги в папке
Этот поток выполняет скрипт для каждой книги в папке Sales.
Создайте мгновенный облачный поток.
Выберите Вручную активировать поток и нажмите кнопку Создать.
В построителе потоков нажмите кнопку + и добавьте действие. Используйте действие списка файлов соединителя OneDrive для бизнесав папке. Используйте следующие значения для действия.
- Папка: /Sales (выбранная в средства выбора файлов)
Убедитесь, что выбраны только книги. Добавьте новое действие элемента управления Условие . Используйте следующие значения для условия.
- Выберите значение: Name (динамическое содержимое из списка файлов в папке)
- заканчивается на: (из раскрывающегося списка)
- Выберите значение: .xlsx
В ветви True добавьте новое действие. Выберите действие Выполнить скрипт соединителя Excel Online (бизнес). Используйте следующие значения для действия.
- Расположение: OneDrive для бизнеса
- Библиотека документов: OneDrive
- File: Id (динамическое содержимое из списка файлов в папке)
- Скрипт: проверка скрипта
Сохраните поток. Конструктор потоков должен выглядеть так, как показано на следующем рисунке.
Попробуйте! Нажмите кнопку Тестировать на странице редактора потоков или запустите поток через вкладку Мои потоки . Обязательно разрешите доступ при появлении запроса.
Обучающее видео: запуск скрипта для всех файлов Excel в папке
Посмотрите Судхи Рамамурти, пройдите этот пример на YouTube.
Office Scripts