Скриптове на Office в Excel: Пълно ръководство за автоматизиране на вашите работни книги

Последна актуализация: 18/02/2026
Автор: Isaac
  • Скриптовете на Office ви позволяват да автоматизирате задачи в Excel, като записвате действия и редактирате TypeScript код в обектния модел на работната книга, листа, диапазона и таблицата.
  • Скриптовете могат да се споделят в цялата организация, да се изпълняват от бутони, да се планират с Power Automate и да се свързват с други услуги за разширени работни потоци.
  • Използването на колекции, типизирани диапазони и методи за добавяне/изтриване улеснява създаването, актуализирането и почистването на обекти като таблици и диаграми в повтарящи се процеси.
  • За да се възползвате максимално от потенциала му, е препоръчително да овладеете редактора на код, справочника за API и опциите за отстраняване на неизправности и наличност в Microsoft 365.

Скриптове на Office в Excel

Лос Скриптовете на Office са съвременният начин за автоматизиране на Excel Достъпни в уеб, Windows и Mac, Office Scripts ви позволяват да записвате действия, да ги редактирате като TypeScript код и да ги изпълнявате, когато пожелаете – от бутон, по график или интегрирани с Power Automate. Ако често повтаряте едни и същи задачи в работните си книги, Office Scripts могат да превърнат цялата тази досадна работа в самоизпълняващ се процес.

Далеч от това да е просто „друг начин за изпълнение на макроси“, Скриптовете на Office съчетават най-доброто от Excel, облака и автоматизираните работни процесиМожете да споделяте скриптовете си с екипа си, да ги свързвате с други услуги и да поддържате електронните си таблици актуални, без да се налага постоянно да отваряте файлове или да кликвате върху бутони.

Какво точно представляват скриптовете на Office и кога е разумно да се използват?

Скриптът на Office е по същество, набор от инструкции, които Excel изпълнява вместо васТези инструкции могат да идват от запис на действия, които извършвате ръчно, или от ръкописен TypeScript код. След като бъде създаден, скриптът може да се използва повторно в различни работни книги и работен лист, спестявайки време и намалявайки човешките грешки.

Типичната ситуация, в която те блестят, е когато Повтаряте една и съща последователност от стъпки всеки ден или всяка седмицаОтваряне на файл, изчистване на колони, форматиране, прилагане на формули, генериране на обобщени таблици или диаграми и т.н. Целият този процес, който може да ви отнеме няколко минути всеки път, може да бъде заснет само веднъж и след това стартиран с едно щракване.

Представете си, че всеки работен ден Изтегляте CSV файл от вашата счетоводна система, отваряте го в Excel и автоматизиране на сливанетоПремахвате колони, които не са ви необходими, конвертирате диапазон в таблица, прилагате филтри, добавяте формули и в крайна сметка получавате обобщена таблица на нов лист. Вместо ръчно да пресъздавате процеса, изпълнявате скрипта си и за секунди файлът е готов, като винаги следвате едни и същи стъпки и без никакви пропуснати стъпки.

Друго голямо предимство е, че Можете да споделите този скрипт с колегите си.Не е необходимо да разбират как сте го създали или да познават програмирането; просто трябва да изпълнят скрипта, за да получат същия резултат. Това помага за стандартизиране на процесите във финанси, отчетност, управленски контрол, анализ на данни и всяка област, където Excel е ежедневен инструмент.

Записващо устройство за действия: автоматизация без програмиране

Фондовият регистър е порталът за всеки Искате да автоматизирате Excel, без да пишете нито един ред код.Работата му е много подобна на тази на класически макро рекордер, но резултатът се запазва като скрипт, базиран на TypeScript, вместо VBA.

Когато активирате записа, Excel Запишете извършените операции в листаРедактиране на клетки, промени във форматирането, създаване на таблици, вмъкване на диаграми и др. Когато спрете записа, всичко се превръща в скрипт, който можете да изпълните отново в други работни книги, стига структурата да е съвместима (имена на листове, диапазони, таблици и др.).

Голямото предимство на този подход е, че Не са ви необходими никакви предварителни технически познанияПросто работите както обикновено и оставяте рекордера да се справи с преобразуването му в код. По-късно, ако искате да настроите фино поведението на скрипта, можете да го отворите в редактора на код и да коригирате специфични детайли.

В документацията на Microsoft ще намерите ръководства от този тип „Записване на действия като скриптове на Office“където са обяснени добрите практики, ограниченията (например някои функции на Excel все още не са регистрирани) и как да се интерпретира генерираното от рекордера, така че да е по-лесно да го редактирате по-късно.

Редактор на код: максимална мощност с TypeScript

Редакторът на код е средата, в която Отивате и променяте генерирания скрипт или където пишете нов от нулата. Тук влизат в действие TypeScript, обектният модел на Excel и всички разширени възможности, които не можете да контролирате само с интерфейса.

TypeScript е типизиран надмножество на JavaScriptТова означава, че всичко, което знаете за JavaScript, е полезно, но също така разполагате с типове редактори, проверки и помощни функции, които улесняват откриването на грешки. Силно се препоръчват известни познания по програмиране (дори на основно ниво), за да извлечете максимума от скриптовете на Office.

Всеки скрипт на Office трябва да има главна функция, наречена mainТази функция получава като първи параметър обект от тип ExcelScript.Workbook, което представлява работната книга на Excel, върху която ще работи скриптът. Най-общо казано, структурата винаги следва следния вид:

function main(workbook: ExcelScript.Workbook) {
// Aquí va tu código
}

Кодът, който поставяте вътре функцията main Това ще бъде изпълнено, когато стартирате скриптаОттам можете да извикате други функции, които декларирате в същия файл, но нищо извън функцията няма да се изпълни автоматично. Освен това, скрипт не може директно да извиква друг скрипт на Office, въпреки че може да се координира с други чрез Power Automate, използвайки входни параметри и връщани стойности. main.

Официални уроци, като например този за „Създаване и форматиране на таблица в Excel“Те ви водят стъпка по стъпка през редактора: как да интерпретирате кода, генериран от рекордера, как да добавяте условни оператори if/else, цикли и помощни функции, както и как да отстранявате грешки в малки грешки, които могат да възникнат при усъвършенстване на скриптовете ви.

  Какво представляват градивните блокове и бързите части в Office и как да се възползвате от тях

Обектен модел на Excel в скриптове на Office

За да работите ефективно със скриптове на Office, е полезно да разберете Как е организиран обектният модел на Excel?Този модел е много подобен на това, което виждате в самия интерфейс: книги, листове, диапазони, таблици, диаграми и т.н., всички свързани помежду си йерархично.

Най-отгоре е обект Workbookкойто представлява цялата книга. Оттам можете да получите достъп до електронните ѝ таблици, използвайки методи като getWorksheets() o getActiveWorksheet()Всеки лист, от своя страна, ви позволява достъп до определени клетки и диапазони.

на електронни таблици (Worksheet) съдържат диапазони (Range)Диапазоните са просто групи от съседни клетки. Диапазонът може да бъде една клетка (например „B3“) или цял блок („C2:F4“). Повечето структури от данни – таблици, диаграми, обобщени таблици, форми, изображения и други елементи за визуализация на данни – са изградени върху диапазони.

API-тата на скриптовете на Office са организирани в две основни пространства от имена: OfficeScript y ExcelScriptAPI-тата, пряко свързани с работни книги и работен лист на Excel, се намират в ExcelScript, докато тези, които не зависят от конкретна книга, са разположени под OfficeScriptОфициалният справочник описва подробно всички класове и методи, налични и в двата пакета.

Много прост пример за обектен модел е скрипт, който извлича активния лист и показва името му на конзолата От редактора:

function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
console.log(sheet.getName());
}

Работа с диапазони: стойности, формули и форматиране

Диапазоните са в основата на работата със скриптове на Office, защото Те се използват за манипулиране на данни, формули и визуалния вид на клетките.За обозначаване на диапазон обикновено се използва обозначението A1, както за отделни клетки, така и за блокове.

Всеки диапазон има три ключови измерения: стойностите, съдържащи се в клетките, формулите, които се оценяват, и приложеното форматиранеС методи като getValues y setValues Вие управлявате суровите данни; с getFormulas y setFormulas Работите с формули; и чрез getFormat осъществявате достъп до обект RangeFormat което ви позволява да променяте цветовете за запълване, шрифтовете, границите и др.

Вътрешно, Ранговете са представени като двумерни матрициНапример, диапазон от 3 реда по 2 колони ще бъде any[][] с три елемента (редове), всеки с две стойности (колони). Това ви дава голяма гъвкавост за итерация и обработка на данни, използвайки цикли или JavaScript/TypeScript функции за масиви.

Типичен скрипт може да създаде малък отчет за продажбите: задаване на заглавки, форматиране на тези елементи, попълване на данни и изчисляване на общи суми използване на формули в рамките на определен диапазон. Всичко това се постига чрез промяна на свойствата на диапазоните и използване на методи за форматиране, за да се направи резултатът четим и визуално привлекателен.

Важно е да е ясно, че Действителната стойност на клетката не винаги съвпада с това, което виждате на екрана., Например, показана дата Например, „02/05/2021“ може вътрешно да съответства на числото 44318. Това, което виждате, зависи от формата на числото, но основният тип остава число, докато не промените стойността.

Когато използвате диапазонни стойности в TypeScript, е добра практика изрично посочете типа данни, които очакватеЕдна клетка може да съдържа една string, ООН number или booleanАко знаете, че даден диапазон винаги ще съдържа числа (например колона с цена), можете да го преобразувате. number[][] така че да можем да извършваме изчисления без TypeScript да се оплаква.

Например, за да получите средната цена от колона с данни, можете да декларирате нещо подобно let prices = priceRange.getValues() as number[][]; и след това обходете тази матрица, за да сумирате стойностите и да ги разделите на броя на редовете.

Таблици, диаграми и други обекти с данни

В допълнение към манипулирането на отделни клетки, Office Scripts ви позволява създаване и модифициране на по-богати структури от данни като например таблици, диаграми, обобщени таблици, форми или изображения. Тези обекти се съхраняват в колекции, свързани с работни листове или самата работна книга.

Таблиците са изградени от диапазони от данни и позволяват Прилагане на автоматично форматиране, филтри и предварително зададени стиловеСкрипт може да добави таблица, която има заглавки с addTable(rango, true) и оттам да получите достъп до неговите колони, редове и специфични свойства.

Възможно е също така да се генерират графики програмно, използвайки методи като addChartедин скрипт може създаване на колонни, линейни, кръгови диаграми и др. използвайки диапазон от данни като източник. Можете дори да коригирате свойства като позиция на листа, размер или тип диаграма.

По подобен начин, обобщените таблици, формите и изображенията могат да се управляват от скриптове, независимо дали се създават, актуализират или изтриват. Техническа документация за скриптове на Office В него са включени подробно всички класове и методи, достъпни за всеки тип обект, както и практически примери за употреба.

  Какво е маркиран PDF или достъпен PDF файл и как да създадете такъв

В много реални сценарии, комбинацията от автоматизирани таблици и диаграми ви позволява да Генерирайте отчети, готови за презентации, само с едно щракване.без да се налага ръчно да се преизгражда една и съща структура на отчета всеки път, когато постъпят нови данни.

Колекции и достъп до множество обекти

Когато обект в Excel групира няколко елемента от един и същи тип, той прави това чрез колекции, които Те са представени като масиви в TypeScript. Например, a Workbook има колекция от Worksheet[], до който имате достъп чрез getWorksheets().

Общата конвенция е, че методите с имена в множествено число, като например getTables(), getCharts() o getColumns()Те връщат пълната колекция от обекти от този тип. След като имате този масив, можете да използвате обичайните операции с масиви: да го преглеждате с forEach, достъп по индекс, филтър, търсене и др.

За да се направи заявка към конкретен обект, обикновено има единични методи, като например getTable(name) o getWorksheet(name)Те очакват идентификатор или име, което обикновено сте задали предварително, или в скрипта, или от интерфейса на Excel. Ако елементът съществува, те връщат съответния екземпляр; в противен случай връщат null. undefined.

Много често срещан модел е да се провери предварително. ако обект вече съществува в колекциятаНапример, можете да опитате да извлечете таблица, наречена „МоятаТаблица“, и ако я намерите, да работите с нея; ако не, да я създадете от нулата. Този подход избягва грешки, когато скриптът се изпълнява върху работни книги с леко различни структури.

Също така е обичайна практика, когато се генерират отчети, които винаги трябва да имат едно и също име на таблица или диаграма, първо да се изтрие предишният обект (ако съществува) и след това да се създаде нов. Това избягва конфликти на имена или остатъци от предишни изпълнения, които биха могли да объркат други потребители.

Добавяне и изтриване на обекти в Excel със скриптове

Скриптовете на Office ви позволяват да създавате и изтривате обекти на работна книга програмно, което е ключово, когато искате Всяко изпълнение оставя книгата в чисто и контролирано състояниеЗа добавяне се използват методи add... в "родителския" обект; за да изтриете, просто извикайте delete() в самия обект.

Например, електронната таблица позволява създаване на нови таблици с addTableпредаване на диапазона от данни и дали той включва заглавки. Този метод връща новосъздадената таблица, която можете да наименувате с setName() за бързото му намиране при бъдещи изпълнения или други скриптове.

Ако искате да сте сигурни, че няма да останат останки от стара маса, можете Опитайте да го извлечете по име и изтрийте съществуващия, преди да създадете новия.Този модел се използва широко в процеси, които се изпълняват ежедневно с нови данни, където не е желателно историята да се съхранява в една и съща работна книга.

Изтриването работи по подобен начин за други обекти, като например електронни таблици, диаграми или обобщени таблици. Просто извлечете обекта и извикайте... delete() така че да изчезне от книгата. Оттам можете да реконструирате това, от което се нуждаете, с новите данни.

Въпреки това е препоръчително да се внимава с премахнете критични елементи от книгатаНапример, изтриването на първата електронна таблица може да обърка потребителите, които очакват да я видят там. Добра практика е да се документира подробно поведението на скрипта и, ако е възможно, да се работи върху електронни таблици, специално създадени за автоматизирания процес.

Споделяйте скриптове и ги изпълнявайте от бутони

Една от големите предимства на Office Scripts е, че Те не просто остават в профила виМожете да ги споделяте с други потребители във вашата организация, особено когато работят върху споделени книги в облака.

Когато споделяте скрипт в споделена работна книга, Всички членове на екипа с достъп до файла могат да го преглеждат и изпълняват. от раздела „Автоматизиране“. Това е много полезно за стандартизиране на начина, по който се обработват определени данни, и за предотвратяване на това всеки човек да „изобретява“ своя собствена версия на ключов процес.

Освен това, Excel позволява добавете бутони, които стартират скриптове директно От самата лента или от галерията със скриптове. Тези бутони са лесен начин за някой без познания за скриптове да има ясно видим достъп до автоматизациите, от които се нуждае в ежедневната си работа.

От контекстното меню на редактора на код (достъпно чрез многоточието до името на скрипта) можете Променете името на скрипта, изтрийте го или го интегрирайте с Power AutomateМожете също да го добавите към лентата, така че да се показва като друго действие във вашата работна среда.

В документацията ще намерите раздели, посветени на „Споделяне на скриптове на Office в Excel“ и „Създаване на бутон за изпълнение на скрипт на Office“, в който е подробно описано как да се конфигурират разрешенията, какво могат да правят потребителите със споделените скриптове и какви ограничения за сигурност се прилагат в Microsoft 365.

Планиране на автоматично изпълнение на скриптове

Освен ръчното им изпълнение, скриптовете на Office могат да бъдат планирайте ги да се изпълняват автоматично в определено времеВъзползвайки се от интеграцията си с Power Automate, това е идеално за гарантиране, че определени книги се актуализират без човешка намеса.

Идеята е проста: след като имате скрипт, който върши работата, от която се нуждаете, Свързвате го с поток на Power Automate. който го задейства на равни интервали (например всяка сутрин в 8:00). Дори ако книгата е затворена, работният процес се грижи за отварянето ѝ във фонов режим, изпълнението на скрипта и запазването на промените.

  Пълно ръководство за създаване на концептуални карти в Word: методи, трикове и алтернативи

За да конфигурирате този график, отворете скрипта в редактора на код и потърсете секцията на „Скриптиране“Оттам влизате с вашия Excel акаунт чрез Power Automate, определяте честотата на изпълнение и кликвате върху „Създаване на поток“. От този момент нататък скриптът ще се изпълнява автоматично според графика, който сте задали.

Този подход значително намалява триенето при задачи като актуализиране на ежедневни отчети, или преизчисляване на модели, които зависят от външни стойности. След като потокът е настроен, можете да забравите за ръчното стартиране на процеса.

Важно е обаче да се следят нещата в началото. потокът се изпълнява без грешкиАко се получи неуспех, защото името на лист е променено, таблица е изтрита или структурата на работната книга е променена, Power Automate ще отрази тези грешки и можете да ги прегледате в регистрационните файлове на изпълнението.

Свързване с Power Automate и други услуги

Power Automate е услугата на Microsoft за създаване автоматизирани работни процеси между приложения и услугиИнтеграцията със скриптове на Office позволява вашите скриптове да не зависят изключително от действия в Excel, а да се задействат от външни събития и да се комбинират с други инструменти.

С тази комбинация можете например, Изпълнявайте скрипт всеки път, когато пристигне имейл с определен прикачен файл.Например, скриптовете на Office могат да актуализират работна книга, когато елемент бъде добавен към списък на SharePoint, или да задействат обработка на данни, когато започне работен процес за одобрение. Това прави скриптовете на Office още една част от много по-широка екосистема за автоматизация.

Данните се обменят между потока на Power Automate и скрипта чрез входните параметри и стойността, върната от функцията mainС други думи, можете да предадете информация от потока към скрипта (например име на файл или целеви диапазон) и да върнете резултат, който потокът ще използва по-късно (като например изчислена стойност или състояние).

Microsoft предоставя специфични уроци, като например „Изпълнение на Office скриптове с Power Automate“Този раздел описва подробно наличните действия, структурата на конектора и примери за типични случаи на употреба. Той е особено полезен за тези, които идват от света на Excel и искат да направят крачка към автоматизация между приложенията.

На практика много потребители комбинират скриптове на Office с Power Query и други компоненти на Power PlatformНапример, Power Query за импортиране и трансформиране на данни, Office Scripts за прилагане на специфична бизнес логика към работната книга и Power Automate за оркестриране на целия поток във фонов режим.

Наличност, изпълнение на скриптове и отстраняване на проблеми

За да използвате скриптове на Office, ви е необходимо съвместим лиценз за Microsoft 365 и че вашата организация не е деактивирала тази функция оттогава Административен център или чрез групови правила. Освен това, Excel в уеб изисква да бъдат активирани „бисквитки“ на трети страни.

В някои Windows среди е необходимо инсталирайте WebView2 за да функционират правилно определени части от интерфейса. Важно е също да се уверите, че не използвате външен или гост акаунт на клиента, тъй като това може да ограничи достъпа до скриптове.

За да стартирате скрипт, обикновено отивате в раздела Автоматизиране > Преглед на скриптовеТам ще видите галерията с най-новите скриптове. Избирането на един от тях ще го отвори в редактора на код, където можете да щракнете върху бутона „Изпълни“ и да видите кратко известие, докато скриптът се обработва.

Ако нещо се обърка по време на изпълнението, Грешките се появяват в редактора на кодНаличен е бутон „Преглед на регистрационните файлове“, който показва обобщение на проблема в долната част на панела. Те често се дължат на разлики между работните книги: променени имена на листове, таблици, които вече не съществуват, променени диапазони и др.

Имайте предвид, че Не всички функции на Excel се поддържат от рекордера или API-тата. по всяко време. Microsoft постепенно разширява съвместимостта, но някои действия може да се показват маркирани като „не се поддържат“ в панела за запис и няма да бъдат включени в скрипта.

Ако имате нужда от допълнителна помощ, техническата общност на Excel и форумите за поддръжка на Microsoft са местата, където можете да... Можете да споделяте своя опит, въпроси или проблеми със скриптовете на OfficeМного потребители коментират как комбинират тези инструменти с VBA, Power Automate, Power Query и други компоненти, за да извлекат максимума от данните си.

Като цяло, Office Scripts предлага много мощен начин за Изведете автоматизацията на Excel на следващото нивоИнтегриране на съвременни скриптове, изпълнение в облак, планиране на задачи и междуприложни потоци. Въпреки че има крива на обучение, особено ако идвате от VBA или никога не сте използвали TypeScript, инвестираното време се превръща в по-бързи процеси, по-малко грешки и екипи, работещи по-последователно върху едни и същи данни.

Скриптове на Office в Excel web
Свързана статия:
Скриптове на Office в Excel Web: Пълно ръководство за автоматизиране на вашите работни книги