Vytvoření doplňku pro Office Stal se velmi účinným způsobem, jak rozšířit funkce aplikací Word, Excel, Outlook, PowerPoint a dalších. Microsoft 365 bez nutnosti vyvíjet tradiční doplňky pro stolní počítače. Tyto nové doplňky jsou založeny na standardních webových technologiích a rozhraní JavaScript API pro Office, což umožňuje vytvářet moderní, bezpečná a snadno nasazovatelná prostředí v celé organizaci.
V následujících řádcích najdete velmi kompletního průvodce vývojové nástroje, typy manifestů, dostupná API a možnosti nasazeníintegrace oficiální dokumentace společnosti Microsoft. Myšlenka je, že můžete od nuly vytvořit funkční doplněk, přičemž budete rozumět tomu, co každá jeho část dělá a jaká technická rozhodnutí je třeba v každém kroku učinit.
Co je moderní doplněk Office a jak je strukturován?
Moderní doplňky Office Spoléhají na platformu doplňků Office, která je společná pro Word, Excel, PowerPoint, OneNote, Outlook a Project, a to na stolních počítačích, webu a v některých případech i na mobilních zařízeních. Všechny sdílejí stejnou základní architekturu složenou ze dvou jasně odlišených částí.
První díl je manifest komplementuTento soubor slouží jako „identifikační karta“ doplňku. Deklaruje metadata (ID, název, verzi, jazyky), se kterými aplikacemi Office jej lze použít, jaká oprávnění potřebuje, jaké příkazy přidává na pás karet, jaké ikony používá, kde je webová aplikace hostována a v jakých kontextech by měla být aktivována (například v Outlooku pouze pro zprávy nebo schůzky, které splňují určitá pravidla).
Druhý kus je Webová aplikace Tato aplikace poskytuje uživatelské rozhraní a obchodní logiku. Skládá se z HTML, CSS a JavaScriptu (nebo TypeScriptu) a běží v kontejneru Office HTML (podokno úloh, doplněk obsahu nebo dialogové okno). Odtud používá knihovnu office.js ke čtení a zápisu do dokumentu, volání externích služeb, zpracování ověřování, zobrazení dialogových oken a provádění dalších typických úkolů moderní webové aplikace.

Nástroje pro vytváření doplňků Office
Neexistuje jediný způsob, jak spustit projekt doplňku. Microsoft nabízí několik oficiálních nástrojůTyto nástroje jsou určeny pro různé uživatelské profily: od těch, kteří preferují šablony Visual Studia, až po ty, kteří denně pracují s Node.js a Visual Studio Code. Existují také nástroje třetích stran nebo specializovanější nástroje, jako například editory uživatelského rozhraní pro VBA.
Generátor Yeoman pro doplňky Office
Generátor Yeoman pro Office je pravděpodobně nejflexibilnější možnost pro webové vývojáře. Umožňuje vám vytvářet projekty založené na Node.js, které můžete upravovat. Kód Visual Studio nebo vašeho preferovaného vydavatele. Průvodce vás provede řadou otázek, abyste si vybrali typ doplňku (podokno úloh, doplněk obsahu, vlastní funkce, Outlook atd.) a cílovou aplikaci.
S tímto generátorem můžete vytvářet projekty pro Excel, OneNote, Outlook, PowerPoint, Project, Word a vlastní funkce Excelu. Dále si můžete vybrat mezi jednoduchým stackem s HTML, CSS a JavaScriptem/TypeScriptem nebo architekturou založenou na Reactu, rovněž v JavaScriptu nebo TypeScriptu, s již připravenou celou strukturou projektu.
Projekty Visual Studia pro Office
Pokud se pohybujete pohodlněji v prostředí .NETVisual Studio obsahuje specifické šablony pro doplňky Office. Tyto šablony pokrývají především Excel, Outlook, Word a PowerPoint a vytvářejí tak kompletní řešení, které zahrnuje manifest doplňku, webovou aplikaci a volitelně i související backendové projekty.
Projekt Visual Studia Je také založen na HTML, CSS a JavaScriptu, ale integruje se s klasickým ekosystémem Microsoftu.Integrované ladění, publikování, balení atd. Je to dobrá volba, pokud již pracujete s podnikovými řešeními ve Visual Studiu a chcete mít vše centralizované ve stejném IDE.
Sada nástrojů Microsoft 365 Agents Toolkit a sada pro vývojáře doplňků Office
Sada nástrojů pro agenty Microsoft 365 Je navržen tak, aby šel nad rámec tradičních doplňků a vytvořil prakticky jakýkoli typ rozšíření pro ekosystém Microsoft 365, kombinuje boty, rozšíření Teams a doplňky. S tímto nástrojem můžete generovat projekty doplňků Office, které se hodí do širších aplikací Microsoft 365.
Sada pro vývojáře doplňků Office Jedná se o rozšíření Visual Studio Code, které výrazně zjednodušuje každodenní život. Ve VS Code můžete vytvářet nové projekty doplňků, načítat ukázky kódu připravené k testování a spravovat celý životní cyklus vývoje, aniž byste museli opustit editor. Rozšíření je navrženo pro práci s unifikovanými manifesty i manifesty pouze doplňků.
Manifest: srdce konfigurace doplňku
Každý doplněk Office je popsán soubor manifestu Toto říká aplikacím, jak jej načíst, jaké možnosti rozhraní zpřístupnit a jaká oprávnění vyžadovat. Existují dvě hlavní šablony manifestu a volba mezi nimi určuje, jak můžete doplněk integrovat s dalšími rozšířeními Microsoft 365.
Typy manifestu: pouze doplňkový a sjednocený manifest
- Manifest pouze doplňku. Je to klasický formát pro produkční doplňky Office v Excelu, OneNotu, Outlooku, PowerPointu, Projectu a Wordu. Je napsán v XML a zaměřuje se výhradně na popis doplňku, aniž by ho mísil s jinými typy aplikací.
- Sjednocený manifest pro Microsoft 365. Vývoj modelu manifestu ve formátu JSON, historicky používaného v aplikacích Teams. Tento formát umožňuje zabalit různé typy rozšíření Microsoft 365 – doplňky Office, rozšíření Teams atd. – do jedné aplikace.
Konfigurační logika je v obou případech podobnáDefinujete jedinečný identifikátor (obvykle GUID), verzi, zobrazovaný název, popis, podporované jazyky, ikony, typy oprávnění (například čtení nebo čtení/zápis dokumentů) a strukturu rozhraní (karty, skupiny a tlačítka na pásu karet). Také určíte spouštěcí URL webové aplikace a případná další nastavení, jako jsou klávesové zkratky v Excelu nebo Wordu, pravidla spouštění v Outlooku nebo rozměry panelů a doplňků obsahu.
Klíčové prvky deklarované v manifestu
Přidání základní metadataManifest musí podrobně popisovat, jak se doplněk integruje do prostředí Office. To zahrnuje obrázky značky a ikony příkazů na pásu s nástroji, které musí být hostovány na serveru, který umožňuje ukládání do mezipaměti (záhlaví HTTP s Cache-Control: no-cache nebo podobné pro výrobu).
Dalším kritickým aspektem je zabezpečeníVšechny adresy URL odkazující na webovou aplikaci nebo doplňkové prostředky musí používat HTTPS. I když některé vývojové scénáře povolují HTTP nebo certifikáty s vlastním podpisem, pokud chcete doplněk spustit v Office na webu nebo jej publikovat na Microsoft Marketplace, je SSL povinné, aby se zabránilo upozorněním na smíšený obsah a byla zajištěna ochrana dat při přenosu.
Pokud plánujete distribuovat doplněk prostřednictvím Microsoft Marketplace, musí manifest obsahovat: Kromě jedinečného identifikátoru GUID také přístupnou a platnou adresu URL technické podpory. Společnost Microsoft používá řadu ověřovacích pokynů, v nichž se kontroluje konzistence dat manifestu, chování doplňku a soulad s požadavky na zabezpečení a uživatelské prostředí.
Povolené domény a zdroje pro Office.js
Manifest také kontroluje které domény lze procházet v panelu pluginuV Office na webu a novém Outlooku pro Windows může podokno úloh načíst téměř libovolnou adresu URL. V desktopových aplikacích je však toto chování přísnější: pokud se doplněk pokusí přejít na jinou doménu než doménu domovské stránky, adresa URL se otevře mimo aplikaci, v samostatném okně prohlížeče.
Aby se zabránilo tomu externímu skoku na plošeKaždou další doménu, kterou chcete v okně doplňku zobrazit, můžete explicitně uvést v manifestu. Pokud je cíl uveden, otevře se v panelu v desktopové verzi Office i v Office na webu; v opačném případě se na desktopové verzi otevře v externím prohlížeči.

Interakce s dokumenty pomocí rozhraní Office JavaScript API
Webová aplikace doplňku komunikuje s dokumentem Office. (nebo se zprávou v případě Outlooku) prostřednictvím knihovny Office JavaScript API, která je přístupná prostřednictvím oficiální sítě CDN společnosti Microsoft na adrese https://appsforoffice.microsoft.com/lib/1/hosted/office.jsJednoduše odkazujte na tento skript v sekci <head> ze stránky, abyste mohli používat dostupné typy a metody.
Jakmile je knihovna načtena, máte přístup ke dvěma doplňkovým modelům API:
- API specifická pro danou aplikaci.
- Běžná API.
Každý model byl navržen tak, aby pokrýval jiné scénáře, i když je lze v závislosti na potřebách kombinovat v jednom příslušenství.
API specifická pro aplikaci
Aplikačně specifická API poskytují silně typované objekty Tyto objekty představují nativní entity konkrétní aplikace Office. Například v Excelu máte objekty pro pracovní listy, oblasti, tabulky a grafy, které vám umožňují strukturovaným a efektivním způsobem manipulovat s daty.
Tento model je založen na dávkové operaceAkce v rámci kontextu zřetězíte a až budete připraveni, synchronizujete změny s Office. Tento způsob práce snižuje počet přechodů mezi doplňkem a aplikací, což výrazně zlepšuje výkon, zejména v Office na webu.
Běžná API pro sdílené funkce
Běžná API Zaměřují se na průřezové funkce přítomné v několika aplikacích.: prvky rozhraní, dialogová okna, nastavení klienta atd. Tento model používá zpětná volání místo promisů a každé volání záměrně provádí jednu operaci s aplikací.
S běžnými API můžete například zobrazit vyskakovací dialogové okno, spravovat konfiguraci doplňku na různých hostitelích nebo přistupovat k určitým funkcím aplikací Outlook, PowerPoint nebo Project, které dosud nejsou pokryty rozhraními API specifickými pro danou aplikaci, v závislosti na případu použití.
Sady požadavků a kompatibilita napříč platformami
Kompatibilita API je uspořádána do sady požadavkůTyto seskupují specifické členy API pod názvem verze. Existují sady požadavků specifických pro danou aplikaci, jako například ExcelApi 1.7a další sdílené, jako například DialogApi 1.1, které fungují tam, kde je podporována funkcionalita dialogového okna.
Doplněk může za běhu kontrolovat, zda aplikace Office, pod kterou běží, splňuje potřebné požadavky. To vám umožňuje přizpůsobit prostředí nebo zakázat pokročilé funkce, když hostitel nesplňuje minimální požadavky, a to bez způsobování neočekávaných chyb.
Prozkoumejte API pomocí Script Lab
Script Lab je bezplatný doplněk Slouží jako testovací prostředí pro rozhraní Office JavaScript API. Instaluje se z webu Microsoft Marketplace a běží v aplikacích, jako je Excel nebo Word, což umožňuje psát a spouštět úryvky kódu v reálném čase v aktuálním dokumentu.
V rámci Script Lab máte přístup k knihovna připravených příkladů, které demonstrují různé možnosti APITyto úryvky kódu můžete použít jako základ pro svůj vlastní kód, upravit je a okamžitě vidět výsledek v dokumentu, což výrazně urychluje fázi prototypování a testování funkcí před jejich začleněním do finálního pluginu.

Jak rozšířit uživatelské rozhraní Office
Jednou z velkých výhod doplňků je, že umožňují integrujte funkcionalitu přímo do rozhraní Officeaby uživatel neměl pocit, že aplikaci „opouštěje“. Toho je dosaženo kombinací příkazů pluginů a HTML kontejnerů, jako jsou panely úloh, pluginy obsahu a dialogová okna.
- Příkazy doplňku Používají se k přidání vlastních karet, nových skupin a dalších tlačítek nebo nabídek na pás karet Office.
- HTML kontejnery (podokna úloh, doplňky obsahu a dialogová okna) fungují jako plocha, na které se zobrazuje vlastní rozhraní doplňku.
V typickém scénáři můžete mít příkaz, který v Excelu přidá skupinu s tlačítkem „Analyzovat data“. Po stisknutí se vpravo otevře podokno úloh s vaší webovou aplikací, která analyzuje vybraný rozsah, volá službu strojového učení a vrací výsledky zvýrazněním buněk nebo vytvořením grafů pomocí specifického rozhraní API Excelu.
Vytvoření doplňku podokna úloh pomocí Yeoman (příklad ve Wordu)
Abychom všechny tyto koncepty uvedli do praxeJe užitečné vidět, jak v praxi vytvořit doplněk podokna úloh pomocí generátoru Yeoman, a to jak pro Word, tak pro Outlook. Přestože se detaily rozhraní mezi aplikacemi liší, struktura projektu a pracovní postup jsou si velmi podobné.
Předpoklady pro vývojové prostředí
Před generováním projektuMusíte mít nainstalovanou nejnovější LTS verzi Node.js, kterou lze stáhnout z oficiálních webových stránek. Po instalaci globálně nainstalujte Yeoman a generátor Office pomocí příkazu npm install -g yo generator-officeNakonec se ujistěte, že máte Office propojený s předplatným Microsoft 365, které zahrnuje Office na webu, protože budete doplněk testovat na počítači i v prohlížeči.
Vytvoření doplňku pro Word s podoknem úloh
Prvním krokem je určit typ manifestu které chcete použít v závislosti na tom, zda chcete doplněk kombinovat s dalšími rozšířeními v jedné aplikaci, či nikoli. Jakmile se rozhodnete, spustíte yo office v pracovním adresáři.
Během interaktivní asistentMůžete například vybrat typ projektu, přiřadit mu název, například „Doplněk pro Office“, a jako cílovou klientskou aplikaci vybrat Word. Po dokončení generátor vytvoří složku projektu, nainstaluje závislosti uzlu a připraví vše k provozu.
V rámci řešení najdete soubor manifestu (manifest.json o manifest.xml) v kořenovém adresáři, který definuje konfiguraci pluginu; soubor ./src/taskpane/taskpane.html s kódem v podokně úloh; CSS v ./src/taskpane/taskpane.css; a kód, který volá rozhraní Office API v ./src/taskpane/taskpane.ts o .jsv závislosti na tom, zda jste zvolili TypeScript nebo JavaScript.
Otestování doplňku v desktopové verzi WorduStačí přejít do kořenové složky projektu (cd "My Office Add-in"a provést npm startTento příkaz spustí lokální webový server a spustí Word s již načteným doplňkem v režimu načítání z webu. Pokud to chcete raději vyzkoušet ve Wordu na webu, můžete použít příkaz podobný tomuto: npm run start -- web --document {url}, přičemž se URL adresa nahradí adresou dokumentu uloženého na OneDrivu nebo v SharePointu.
Vývojový server a správa závislostí
Během vývoje je běžné že npm install Během automatického kroku, který Yeoman provádí, může dojít k selhání, zejména pokud existují konflikty s verzemi závislostí. V takových případech jednoduše přejděte do složky projektu a spusťte jej. npm install ručně to vyřešit.
Pokud se zobrazí varování o zastaralých závislostechNa nástroj se můžete spolehnout npm-check-updates, instalace s npm i -g npm-check-updates, běh ncu -u aktualizovat rozsahy verzí v package.json a dokončení procesu s novým npm installMnoho z těchto varování není kritických, ale je dobrým zvykem je pravidelně kontrolovat, aby projekt zůstal v pořádku.
Zastavení vývojového serveru a odinstalujte plugin v režimu sideloading, můžete spustit npm stop v kořenovém adresáři. Pokud jste doplněk dříve nahráli ručně (například nahráním manifestu do Office na webu), budete jej muset ručně odebrat i z odpovídajícího rozhraní pro správu.
Od základní struktury doplňku a vývojových nástrojů (Yeoman, Visual Studio, Agents Toolkit, Script Lab) až po roli manifestu, JavaScript API, bezpečnostní kontroly a možnosti nasazení (lokální, Marketplace, centralizované nasazení nebo prostřednictvím poskytovatelů, jako je Qlik), máte k dispozici poměrně kompletní mapa abyste se rozhodli, jaký typ doplňku potřebujete, jak ho vytvořit a jak ho zpřístupnit uživatelům bez technických překvapení.