Select the product you need help with
Důležité informace týkající se automatizace systému Office na straně serveruID článku: 257757 - Produkty, které se vztahují k tomuto článku. Na této stránceSouhrn Vývojáři mohou používat funkci automatizace v systému Microsoft Office k vytvoření vlastních řešení, která využívají možnosti a funkce vestavěné v produktu Office. Takovýto programový vývoj může být poměrně snadno implementován v klientském systému. Pokud má ale dojít k automatizaci prostřednictvím kódu na straně serveru, například prostřednictvím skriptů ASP (Active Server Pages), rozhraní DCOM nebo služby NT, mohou nastat různé komplikace. Tento článek pojednává o komplikacích, s nimiž se mohou vývojáři setkat, nabízí alternativy automatizace, které mohou urychlit prováděné operace, a navrhuje způsoby, jak nakonfigurovat systém Office v případě, že automatizace na straně serveru je nevyhnutná. Vývojáři by si však měli uvědomit, že dále uvedené návrhy jsou určeny pouze pro čistě informativní účely. Společnost Microsoft nedoporučuje ani nepodporuje automatizaci systému Office na straně serveru. Poznámka: V tomto kontextu se termín „na straně serveru“ týká také kódu, který běží v pracovních stanicích se systémem Microsoft Windows NT nebo Microsoft Windows 2000, pokud se tento kód spouští z jiného prostředí WinStation než z interaktivní stanice přihlášeného uživatele. Například kód spuštěný službou Plánovač úloh pod účtem SYSTEM pracuje ve stejném prostředí jako kód skriptu ASP nebo rozhraní DCOM spuštěný na straně serveru, a tudíž u nich dochází k řadě stejných problémům. Další informace o prostředí WinStation a rozhraní COM získáte v částech Další informace a Odkazy. Další informace Všechny aktuální verze systému Microsoft Office byly vytvořeny, testovány a nakonfigurovány tak, aby fungovaly v klientských pracovních stanicích koncových uživatelů. Předpokladem pro jejich použití je interaktivní plocha a profil uživatele. Neposkytují však potřebnou úroveň opakovaného přístupu ani zabezpečení, která je požadovaná u součástí pracujících na straně serveru a určených k bezobslužnému provozu. Společnost Microsoft v současné době nedoporučuje ani nepodporuje automatizaci žádných aplikací systému Microsoft Office z jakékoli bezobslužné neinteraktivní klientské aplikace nebo součásti (včetně skriptů ASP, rozhraní DCOM a služeb NT), protože při spuštění v tomto prostředí může dojít k nestabilnímu chování nebo i zablokování systému Office. Vytváříte-li řešení, které pracuje v kontextu na straně serveru, pak se pokud možno snažte se využívat součásti, které byly zabezpečeny pro bezobslužné spouštění, nebo najděte náhradní řešení, které umožní, aby alespoň část kódu běžela na straně klienta. Rozhodnete-li se použít aplikaci systému Office z řešení na straně serveru, zjistíte, že jí k úspěšnému fungování chybí mnoho nezbytných funkcí. Ohrozíte tak stabilitu celého řešení. Problémy při použití automatizace systému Office na straně serveruVývojáři, kteří se snaží použít systém Office v řešení na straně serveru, by si měli být vědomi pěti hlavních případů, kdy se systém Office vlivem prostředí chová neočekávaným způsobem. Má-li kód správně fungovat, je třeba se zaměřit na tyto případy a co nejvíce omezit jejich důsledky. Při sestavování aplikace je třeba pečlivě uvážit tyto záležitosti, protože žádné řešení neobsáhne všechny případy a různé návrhy řešení vyžadují odlišné uspořádání prvků podle důležitosti.
Kromě těchto větších problémů mnoho zákazníků zjišťuje, že bez úprav výchozí instalace systému Office dochází při pokusu o automatizaci na straně serveru k následujícím běžným chybám:
Při spuštění na straně serveru využívejte místo automatizace náhradní řešeníSpolečnost Microsoft velmi doporučuje, aby v případě, že je třeba vyvinout řešení na straně serveru, vývojáři hledali místo automatizace systému Office náhradní řešení. V důsledku omezení daných návrhem systému Office nelze změnami konfigurace systému Office vyřešit všechny problémy. Společnost Microsoft doporučuje několik náhradních řešení, která nevyžadují instalaci systému Office na straně serveru a mohou přitom provádět většinu běžných úloh účinněji a rychleji než automatizace. Než ve svém projektu použijete systém Office jako součást na straně serveru, zvažte náhradní řešení.Většina úloh automatizace na straně serveru zahrnuje vytvoření dokumentu. Jelikož sada Office 2000 a novější verze podporují formát HTML jako nativní formát dokumentů, lze většinu dokumentů vytvořit ve formátu HTML, v případě potřeby použít značky jazyka XML (Extensible Markup Language) a odeslat dokumenty do klientského počítače pomocí typu MIME (Multipurpose Internet Mail Extensions), takže výsledný text bude zobrazen v aplikaci systému Office. Na serveru stačí použít jen skripty ASP a dokument lze upravit, uložit, či dokonce v případě potřeby vrátit na server. U starších verzí systému Office lze se stejným výsledkem využít jiné snadno zpracovatelné textové formáty (například RTF). Některé nativní binární formáty lze upravovat rychleji a s větší škálovatelností pomocí součástí OWC (Office Web Components) nebo rozhraní ADO (ActiveX Data Objects). Vlastnosti dokumentu lze zobrazit či změnit bez automatizace a správu souborů a verzí lze provádět pomocí rozšíření FPSE (FrontPage Server Extensions) nebo technologie DAV (Distributed Authoring and Versioning). Je-li automatizace nezbytná, většina úloh může být převedena do klientského počítače, čímž lze dosáhnout lepší stability a škálovatelnosti systému, protože každý uživatel spustí úlohu ve svém vlastním kontextu a s vlastními parametry nastavení. Další informace o všech těchto tématech a příklady jejich implementace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base: 270906
(http://support.microsoft.com/kb/270906/
)
Použití skriptů ASP k vytvoření dokumentu ve formátu RTF (Rich Text Format) pro odeslání datovým proudem do aplikace Microsoft Word (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)198703
(http://support.microsoft.com/kb/198703/
)
Automatizace aplikace Excel pomocí skriptovacího jazyka VBScript na straně klienta (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)199841
(http://support.microsoft.com/kb/199841/
)
Zobrazení výsledků skriptů ASP v aplikaci IE jako listu aplikace Excel za pomocí typů MIME (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)224351
(http://support.microsoft.com/kb/224351/
)
Soubor Dsofile.dll umožňuje úpravy vlastností dokumentu systému Office bez systému Office v programovacích jazycích Visual Basic .NET 2003 a Visual Basic .NET 2002 (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)244049
(http://support.microsoft.com/kb/244049/
)
Použití tvorby grafů na straně serveru k dynamické tvorbě grafů (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)258187
(http://support.microsoft.com/kb/258187/
)
Program OWebComp.exe obsahuje příklady skriptování pro součásti Office 2000 Web Components (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)260239
(http://support.microsoft.com/kb/260239/
)
Formátování dat v buňkách při vytvoření souboru aplikace Excel pomocí stránky ASP (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)278973
(http://support.microsoft.com/kb/278973/
)
Součást ExcelADO ukazuje způsob použití objektu ADO ke čtení a zápisu dat v sešitech aplikace Excel (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)286023
(http://support.microsoft.com/kb/286023/
)
Použití součásti VB ActiveX k automatizaci aplikace Word z aplikace Internet Explorer (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)288130
(http://support.microsoft.com/kb/288130/
)
Použití skriptů ASP k vytvoření sešitu XML pro zobrazení na straně klienta (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)317316 Jestliže vaše obchodní činnost vyžaduje vytváření binárních souborů systému Office na straně serveru, můžete využít nabídky těchto součástí od jiných dodavatelů. Následuje seznam některých známých dodavatelů nabízejících tyto služby. Tento seznam je uveden pouze pro informaci. Nejedná se o úplný seznam. Je možné, že jiní dodavatelé nabízejí podobné služby, které jsou pro vás vhodnější. Doporučujeme prověřit všechna možná řešení jiných dodavatelů a najít dodavatele, který nejlépe odpovídá potřebám vaší společnosti. Následující dodavatelé v současné době nabízejí některá řešení, která umožňují programové vytváření a úpravy nativních formátů souborů systému Office.
Další informace o jiných dodavatelích naleznete na následujících webech společnosti Microsoft:
(http://support.microsoft.com/kb/317316/
)
Omezení součástí Office Web Components při použití na straně serveru (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)Aia Software B.V. http://www.aia-itp.com Polar
(http://www.aia-itp.com)
http://www.polarsoftware.com
SoftArtisans
(http://www.polarsoftware.com)
http://www.softartisans.com
SyncFusion
(http://www.softartisans.com)
http://www.syncfusion.com Keylogix
(http://www.syncfusion.com)
http://www.activedocs.com Poznámka:
Produkty jiných výrobců popisované v tomto článku vyrábějí společnosti, které jsou nezávislé na společnosti Microsoft. Společnost Microsoft neposkytuje žádnou záruku (implicitně předpokládanou ani jinou) týkající se výkonu a spolehlivosti těchto produktů.
(http://www.activedocs.com)
Konfigurace systému Office pro spuštění na straně serveruNení-li možné jiné řešení a rozhodnete-li se přikročit k automatizaci systému Office na straně serveru, je třeba vyřešit mnohé z výše uvedených problémů, a umožnit tak úspěšné spouštění aplikací z tohoto prostředí. Protože většina těchto problémů se týká konfigurace, není možné uvést jediný postup, který by zajistil fungování automatizace na straně serveru ve všech případech a pro všechny systémy. Některá nastavení konfigurace mohou způsobovat konflikt s ostatními možnostmi a každý přístup má své výhody i nevýhody. Pravděpodobně bude třeba experimentovat, abyste zjistili, co v daném prostředí funguje nejlépe.Pro automatizaci systému Office prostřednictvím kódu na straně serveru je obvykle třeba zajistit následující požadavky:
Prvním krokem je tudíž omezit využití automatizace systému Office v řešení na straně serveru a izolovat proces na méně důležitý počítač, který lze v případě potřeby restartovat. Také je třeba izolovat kontext volání, aby nereagující volající klient nesnížil výkon nezbytně důležité systémové služby. Neprovádějte například automatizaci přímo ze služby IIS pomocí systémového podprocesu. Raději izolujte kód, aby se spouštěl jako vlastní podproces, takže v případě jeho selhání nedojde k omezení funkčnosti služby IIS jako celku. Věnujte pozornost také tomu, jak váš návrh vynucuje zabezpečení a ověřování. Jelikož systém Office nevynucuje zabezpečení na straně serveru, musí kód zajistit, aby pouze důvěryhodné kódové moduly (například stránky ASP, soubory skriptů atd.) mohly vytvářet automatizované instance aplikace systému Office a volat jeho metody, a aby předtím, než požádáte systém Office o otevření jakýchkoliv dokumentů, byla zajištěna jejich bezpečnost. Aplikace systému Office na serveru by měly běžet se zabezpečením stále nastaveným na úroveň Vysoká. Pokud váš návrh nevynucuje zabezpečení, vystavujete server ohrožení! Když je návrh hotov, je třeba postupovat při tvorbě kódu defenzivně a snažit se tak předcházet problémům a řešit chyby, když k nim dojde. Je třeba zajistit, aby kód předával hodnoty pro volitelné parametry, protože chybějící nebo konfliktní hodnoty někdy způsobí, že systém Office požaduje od uživatele další informace. Ve všech funkcích používejte zachycování chyb, což umožní hladké zpracování chybových stavů, a protokolujte tyto chyby pomocí kódu protokolování, který lze vlastním nastavením zapnout či vypnout (v registru nebo v souboru INI). Provádíte-li nějakou akci, která může způsobit zobrazení chybového dialogového okna nezávisle na systému Office (například tisk může způsobit, že ovladač tiskárny zobrazí dialogové okno, když v tiskárně dojde papír), buďte připraveni zvládnout případná zablokování. Můžete použít časový limit nebo druhý podproces ke sledování postupu. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base: 259971 Využijte kód protokolování k trasování problémů a ladění programu. Použijete-li fond vlastních objektů, můžete přidat testy výkonu a škálovatelnosti, a sledovat tak využití a protokolovat problémy ovlivňující všechny klienty. Centrální řadič umožňuje ukončit odštěpené instance systému Office a opět je vytvořit, když je jich třeba k posílení celkové stability.
(http://support.microsoft.com/kb/259971/
)
Jak zrušit dialogové okno zobrazené aplikací systému Office pomocí jazyka Visual Basic (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)Když je program připraven k nasazení, zajistěte, aby byl systém Office na serveru správně nakonfigurován a využíval vhodný kontext uživatele. Systém Office vyžaduje uživatelský profil. Aby jej bylo možné úspěšně automatizovat, je třeba zajistit jeho načtení s uživatelským profilem. Existují tři způsoby, jak toho při práci v prostředí na straně serveru docílit:
288366 Druhá možnost přiřadí systému Office určitého uživatele, ale neumožňuje interaktivnost. Systém Office se spustí jako přiřazený uživatel v novém prostředí WinStation na neviditelné ploše. Tato možnost vyžaduje ještě další konfiguraci, která zajistí načtení podregistru uživatele, protože součást COM/DCOM to ve výchozím nastavení neprovádí. Toto nastavení je globální pro celý systém, a tak může vést ke konfliktu s dalšími programy. Další informace o tomto způsobu konfigurace systému Office naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
(http://support.microsoft.com/kb/288366/
)
Konfigurace aplikací systému Office pro spuštění pod účtem interaktivního uživatele (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)288367 Třetí možnost umožňuje přiřadit identitu určitému webu nebo modulu kódu, a tak se vyhnout nastavení pevné identity systému Office jako celku. Systém Office pak funguje jako tato identita a načítá se správně za předpokladu, že daná identita byla nakonfigurována pro daný počítač předem a že byl načten podregistr. Tato možnost je obvykle nejflexibilnější a lze ji nejlépe zabezpečit, ale na rozdíl od předchozích možností neumožňuje interaktivitu s viditelnou plochou a vyžaduje zvláštní nastavení. Další informace o konfiguraci systému Office tímto způsobem naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
(http://support.microsoft.com/kb/288367/
)
Konfigurace aplikací systému Office pro spuštění pod účtem určitého uživatele (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)288368 Je třeba vyhodnotit, která z výše uvedených možností vyhovuje vašim potřebám a jak vaše řešení nejlépe nasadit. Nelze zaručit, že informace, které jsou zde uvedeny, vyřeší všechny problémy všech klientů. Než přikročíte k nasazení, doporučujeme důkladné testování.
(http://support.microsoft.com/kb/288368/
)
Konfigurace aplikací systému Office pro automatizaci prostřednictvím balíčku COM+/MTS (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)Odkazy Další informace o automatizaci na straně serveru naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
169321
(http://support.microsoft.com/kb/169321/
)
Aktivace serverů COM a stanic se systémem Windows NT (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)VlastnostiID článku: 257757 - Poslední aktualizace: 18. dubna 2007 - Revize: 15.4 Informace v tomto článku jsou určeny pro produkt:
| Překlady článku
|


Zpět nahoru








