Overwegingen voor server-side automatisering van Office

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 257757 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Ontwikkelaars kunnen aangepaste oplossingen bouwen die de mogelijkheden en functies die zijn ingebouwd in het Office-product automatisering in Microsoft Office gebruiken. Hoewel dergelijke programmatische ontwikkeling kan worden geïmplementeerd op een client systeem met relatief gemak, kan een aantal complicaties optreden als automatiserings van server-side code, zoals Microsoft Active Server Pages (ASP), ASP-pagina plaatsvindt.NETTO, DCOM- of een Windows NT-service.

In dit artikel de complicaties die ontwikkelaars kunnen geconfronteerd worden besproken. Het artikel biedt tevens alternatieven voor automatisering die prestaties kunnen versnellen. Ontwikkelaars moeten rekening mee dat de voorstellen die dit artikel biedt echter zijn voor alleen voor informatieve doeleinden. Microsoft niet aanbevolen of ondersteund server-side automatisering van Office.

OpmerkingIn deze context, de stuur programma's van Microsoft 2007 Office System en de Access data base Engine 2010 worden beschouwd als onderdelen van Microsoft Office. De term "server-side" ook van toepassing op code die wordt uitgevoerd op een Windows-werkstation als de code wordt uitgevoerd vanaf een Windows-werkstation anders dan de interactieve station van de gebruiker die is aangemeld. Code die is gestart met de Taakplanner via de systeemaccount uitgevoerd bijvoorbeeld in dezelfde omgeving als "server-side" ASP-code of code van DCOM. Dus treedt veel van de problemen die in dit artikel wordt beschreven. Zie de sectie "Meer informatie" en de sectie "Referenties" voor meer informatie over Windows-werkstations en COM.

Meer informatie

Alle huidige versies van Microsoft Office zijn ontworpen, getest en uitgevoerd als producten van de eind gebruiker op een client werk station. Zij wordt uitgegaan van een interactieve bureau blad en het gebruikers profiel. Ze bieden niet het niveau van de reentrancy of de veiligheid die nodig is voor de behoeften van server onderdelen die zijn ontworpen om zonder toezicht uitgevoerd.

Microsoft momenteel niet aanbevolen en niet ondersteunt, automatisering van Microsoft Office-toepassingen vanaf elke client voor installatie zonder toezicht, niet-interactieve toepassing of component (inclusief ASP ASP.NETTO, DCOM en NT-Services), omdat Office onstabiel gedrag en/of impasse teruglopen kan wanneer Office wordt uitgevoerd in deze omgeving.

Als u een oplossing die wordt uitgevoerd in een server-side context moet proberen onderdelen die zijn aangebracht veilig te gebruiken voor uitvoering zonder toezicht. Of u moet proberen te zoeken naar alternatieven waarmee op ten minste een deel van de code voor het uitvoeren van client-side. Als u een Office-toepassing vanaf een server-side-oplossing ontbreken de toepassing veel van de benodigde mogelijkheden te kunnen uitvoeren. Daarnaast zal u risico's met nemen de stabiliteit van uw algemene oplossing.

Problemen met server-side automatisering van Office

Ontwikkelaars die Office gebruiken in een server oplossing proberen moeten zich bewust zijn van de vijf belangrijkste gebieden waarin Office anders dan verwacht als gevolg van het milieu werkt. Als uw code te kunnen uitvoeren, moet u de problemen op te lossen en de gevolgen daarvan zoveel mogelijk te beperken. Deze problemen zorgvuldig overwegen wanneer u uw toepassing maken. Eén oplossing kan niet alle problemen op te lossen. Verschillende ontwerpen, moet u de elementen anders prioriteren.
  • Gebruikersidentiteit: Office-toepassingen wordt ervan uitgegaan dat de identiteit van een gebruiker wanneer de toepassingen worden uitgevoerd, zelfs wanneer de automatisering de toepassingen worden gestart. De toepassingen probeert te werk balken, menu's, opties, printers en bepaalde invoegtoepassingen op basis van initialiseren instellingen in het register onderdeel van de gebruiker voor de gebruiker die de toepassing start. Veel services worden uitgevoerd onder een account die geen gebruikers (zoals de systeem profielen account of de accounts IWAM _ [server naam]). Office kan derhalve niet juist worden geïnitialiseerd bij het opstarten. In dit geval Office resulteert in een fout in deCreateObjectfunctie of deCoCreateInstancefunctie. Zelfs als de Office-toepassing gestart, functies worden kan werkt mogelijk niet goed als er geen gebruikers profiel.
  • Interactiviteit met het bureau blad: Office-toepassingen wordt ervan uitgegaan dat ze worden uitgevoerd onder een interactieve bureau blad. In sommige gevallen, toepassingen mogelijk moeten worden aangebracht zichtbaar voor bepaalde automatiseringsfuncties correct werken. Als een onverwachte Er treedt een fout op, of als een niet-opgegeven parameter nodig is om een functie te voltooien Office is ontworpen om de gebruiker met een modaal dialoog venster waarin u wordt gevraagd de gebruiker wat de gebruiker wil doen. Een modaal dialoog venster op een niet-interactieve bureau blad kan niet worden gesloten. Daarom thread reageert niet meer (loopt vast) voor onbepaalde tijd. Hoewel bepaalde cod eer praktijken kunnen helpen verminderen de kans op van dit probleem als u deze procedures niet voorkomen dat het probleem volledig.Dit feit zou kan Office-toepassingen uitvoeren vanaf een server-side omgeving riskant en wordt niet ondersteund.
  • Reentrancy en schaal baarheid: Componenten server-side moeten zeer inspringende multi-threaded COM-onderdelen met minimale overhead en hoge doorvoer voor meerdere clients. Office-toepassingen zijn in bijna alle opzichten het tegenovergestelde. Office-toepassingen worden niet wordt herhaald, STA gebaseerde automatisering servers die bieden diverse maar belastende functionaliteit voor één client. De toepassingen bieden weinig schaal baarheid een server oplossing. Ook hebben de toepassingen grenzen opgelost belangrijke elementen, zoals geheugen. Deze kunnen niet worden gewijzigd via configuratie. Nog belangrijker is, de toepassingen algemene resources gebruiken zoals geheugen toegewezen bestanden, algemene invoegtoepassingen of sjablonen, en gedeelde automatisering servers. Dit kan beperken het aantal exemplaren dat gelijktijdig kan worden uitgevoerd en race conditions kunnen leiden als de toepassingen die zijn geconfigureerd een meerdere clients omgeving. Ontwikkelaars die u van plan bent meer dan één exemplaar van elke Office-toepassing op hetzelfde moment moet overwegen "pooling" of toegang tot de Office-toepassing om te voorkomen dat een potentiële impasse seri ali satie of gegevens beschadiging.
  • Tolerantie en stabiliteit: Office 2000, Office XP, Office 2003 en Office 2007 gebruiken Installatie van Microsoft Windows Installer (MSI) technologie en herstel eenvoudiger beschikbaar voor eind gebruikers. MSI introduceert het concept van "installeren op eerste gebruik." Daardoor kunnen functies dynamisch worden geïnstalleerd of geconfigureerd op uitvoering voor het systeem, of vaker voor een bepaalde gebruiker. In een server-side omgeving, dit zowel prestaties vertraagt en vergroot de kans dat een dialoog venster weer gegeven waarin wordt gevraagd of de gebruiker de installatie goedkeuren of om een installatiediskette. Hoewel dit verhoogt de tolerantie van Office als een product voor eind gebruikers van Office uitvoering van MSI mogelijkheden zijn in een server-side omgeving is. Voorts de stabiliteit van Office niet kan in het algemeen worden gewaarborgd wanneer Office wordt uitgevoerd server-side omdat het niet is ontworpen of getest voor dit soort gebruik. Office gebruiken als onderdeel van een service op een net werk server kan verminderen de stabiliteit van de computer, en daarom kan verminderen de stabiliteit van uw hele net werk.
  • Beveiliging van server-side: Office-toepassingen zijn nooit bedoeld voor server-side. Daarom, Office-toepassingen hebben gehouden de beveiliging problemen onderdelen gezicht gedistribueerde. Office wordt niet geverifieerd binnenkomende aanvragen. Office ook beschermt niet tegen onbedoeld met macro's of macro's vanuit uitvoeren kan een andere server wordt gestart de server-side code.Open geen bestanden die worden geüpload naar de server van een anonieme Web site. De server op basis van de beveiligingsinstellingen die het laatst was ingesteld, macro's onder een beheerders- of System-context kan worden uitgevoerd met volledige bevoegdheden en kan daarom uw net werk in gevaar brengen.Daarnaast gebruikt Office veel client onderdelen (zoals Simple MAPI, WinInet en MSDAIPP) die clientverificatie kunt cache gegevens snelheid verwerking. Als Office een geautomatiseerde server-side wordt instantie kan meer dan één client service. Als verificatiegegevens is in de cache voor die sessie, kan één client gebruik van referenties uit de cache een andere client. De client krijgt daarom mogelijk niet-verleende toegangs machtigingen andere gebruikers imiteren.
Naast de technische problemen, moet u ook overwegen licentie problemen. Huidige licentie richtlijnen kunnen Office-toepassingen wordt gebruikt op een server op service aanvragen van clients, tenzij de clients zich hebben een gelicentieerd exemplaar van Office. Met behulp van Auto mat ion server-side functionaliteit van Office als illegaal werk plekken, wordt door de gebruiksrecht overeenkomst (EULA) niet gedekt.

Naast deze problemen, een de volgende veelvoorkomende fouten optreden wanneer u probeert om Office te automatiseren aan de server zijde:
  • HetCreateObjectfunctie en deCoCreateInstancefunctie geeft als resultaat een van de volgende run time fout berichten en kan niet worden gestart voor Automatisering.

    Bericht 1
    Run time fout '429': ActiveX-onderdeel kan geen object maken
    Bericht 2
    Run time fout '70': toestemming geweigerd
    Bericht 3
    CO_E_SERVER_EXEC_FAILURE (0X80080005): Server uitvoering is mislukt
    Bericht 4
    E_ACCESSDENIED (0x80070005): Toegang geweigerd
  • Wanneer u een Office-document opent, wordt een van de volgende fout berichten weer gegeven.

    Bericht 1
    Run time fout '5981' (0x800A175D): kan macro opslag niet worden geopend
    Bericht 2
    Runtime-fout '1004': methode ' ~' van object ' ~' is mislukt
  • HetCreateObjectfunctie en deCoCreateInstancereageert niet meer functioneren en nooit voltooid of lange tijd in beslag nemen als resultaat. Op sommige servers maken is snel maar 1004 fouten weer gegeven in de Windows-gebeurtenislogboek die aangeven dat de toepassing is gestopt.
  • Bepaalde functies functioneert of niet meer reageert voor onbepaalde tijd vanwege de waarschuwing voor een gebruiker of andere dialoog vereist die gebruiker aandacht.
  • Meerdere aanvragen of stress tests uitgevoerd, wordt de code mislukt, reageert of crash op het creëren of beëindigen van een kantoor toepassing. Wanneer dit gebeurt, hetzij het proces blijft in het geheugen uitgevoerd en kan niet worden beëindigd, of alle exemplaren van de toepassing die wordt geautomatiseerde mislukken vanaf dat punt.
Andere problemen of berichten kunnen verschijnen naast die hier worden vermeld, maar deze problemen kunnen optreden als gevolg van de vijf belangrijkste kwesties die eerder in dit artikel worden vermeld.

Alternatieven voor automatisering op servers

Microsoft raadt dat ontwikkelaars alternatieven voor automatisering van Office vinden als ze nodig hebben om aan de server zijde oplossingen te ontwikkelen. Vanwege de beperkingen van Office ontwerp zijn wijzigingen in de configuratie van Office niet voldoende om alle problemen te verhelpen.Microsoft raadt een aantal alternatieven waarvoor kantoor geïnstalleerde server zijde en die efficiënter en sneller dan automatisering meest voorkomende taken kunt uitvoeren.Voordat u Office als server-side component in uw project betrekken, overweeg dan alternatieven.

De meeste server-side automatiserings taken betrekking hebben op document maken of bewerken. Office 2007 ondersteunt nieuwe Open XML-bestand indelingen waarmee ontwikkelaars maken, bewerken, lezen en bestands inhoud op transformatie de serverkant. Deze bestands indeling gebruikt deSystem.IO.Package.IOin de Microsoft-naamruimte.NET 3. x Framework Office-bestanden bewerken zonder de Office-clienttoepassingen zelf. Dit is de aanbevolen en ondersteunde methode voor het verwerken van wijzigingen in Office-bestanden van een service.

Open XML bestandsindelingen zijn een standaard openbaar. Om een exemplaar van de specificatie Ga naar de volgende website:
http://www.ecma-international.org/publications/standards/Ecma-376.htm
Microsoft biedt een SDK voor het manipuleren van Open XML-bestandsindelingen van de.3. X NET Framework. Ga naar de volgende websites van Microsoft Developer Network (MSDN) voor meer informatie over de SDK en het gebruik van de SDK wilt maken of bewerken van Open XML-bestanden:
Open XML-SDK-documentatie
http://msdn.Microsoft.com/en-us/library/bb226703.aspx
Procedure: Office Open XML-indelingen documenten bewerken
http://msdn.Microsoft.com/en-us/library/aa982683.aspx
Werken met Word 2007-bestanden met de Open XML-objectmodel (deel 1 van 3)
http://msdn.Microsoft.com/en-us/library/bb656295.aspx
Werken met Word 2007-bestanden met de Open XML-objectmodel (deel 2 van 3)
http://msdn.Microsoft.com/en-us/library/bb739835.aspx
Werken met Word 2007-bestanden met de Open XML-objectmodel (deel 3 van 3)
http://msdn.Microsoft.com/en-us/library/bb727374.aspx
Werken met Excel 2007 en PowerPoint 2007-bestanden met de Open XML-objectmodel (deel 1 van 2)
http://msdn.Microsoft.com/en-us/library/bb739834.aspx
Werken met Excel 2007 en PowerPoint 2007-bestanden met de Open XML-objectmodel (deel 2 van 2)
http://msdn.Microsoft.com/en-us/library/bb727373.aspx
Server-Side Document generatie oplossingen samens tellen met behulp van de Open XML-objectmodel (deel 1 van 2)
http://msdn2.Microsoft.com/en-us/library/bb735940.aspx
Server-Side Document generatie oplossingen samens tellen met behulp van de Open XML-objectmodel (deel 2 van 2)
http://msdn2.Microsoft.com/en-us/library/bb735939.aspx
Voor meer informatie informatie over het gebruik van Open XML uit het.NET Framework 3. 0 en voor een in het volgende voorbeeld, klikt u op de volgende artikel nummers om de artikelen in de Microsoft Knowledge Base:
932921Het gebruik van onderdelen van het.NET Framework 3. 0 te maken en vervolgens naar een Office Word 2007 stroom document en een Office Excel 2007-werkmap naar een clientcomputer
931866Het gebruik van de Office XML-bestandsindeling en de verpakkings componenten uit het.NET Framework 3. 0 een eenvoudige Excel 2007-werkmap of een eenvoudige Word 2007-document maken
Gebruikers met eerdere versies van Office (zoals Office 2000, Office XP en Office 2003) kunt weer geven en bewerken van Open XML Als de gebruikers de vrije compatibiliteitspakket installeren bestanden downloaden van het Website van Microsoft. Installeren van het compatibility pack wilt downloaden, gaat u naar de volgende Microsoft-website:
Microsoft Office compatibiliteitspakket voor bestandsindelingen van Word, Excel en PowerPoint 2007
http://Office.Microsoft.com/en-us/Products/HA101686761033.aspx
Wanneer u Open XML-bestanden vanuit ASP of ASP streamen.NETTO, geef het juiste type MIME (Multipurpose Internet Mail Extension) voor de inhoud die u stroomsgewijs afspeelt. Voor een overzicht van de MIME-typen voor Office 2007-bestanden, gaat u naar de volgende website:
http://blogs.msdn.com/b/vsofficedeveloper/Archive/2008/05/08/Office-2007-Open-XML-MIME-types.aspx
Als u alleen tekstverwerkings 2007-clients zijn gericht en u niet wilt vereisen het gebruik van Open XML in de oplossing, kunt u andere niet-binaire bestandsindelingen van Office, zoals HTML, XML en RTF. U kunt deze bestanden naar een client vervolgens streamen met behulp van een MIME-type, zodat de resulterende tekst wordt weer in Office gegeven. Het document kan worden bewerkt, opgeslagen en zelfs naar de server met behulp van ASP-pagina op de server worden geretourneerd.

Voor meer informatie over deze onderwerpen en voorbeelden die tonen hoe ze worden geïmplementeerd, klikt u op het volgende artikel nummers voor de artikelen in de Microsoft Knowledge Base:
270906Het gebruik van ASP voor het genereren van een stroom naar Microsoft Word RTF (RICH Text Format) document
198703Het automatiseren van Excel vanaf een client-side VBScript
199841Hoe u ASP resultaten met Excel in Internet Explorer met MIME-typen
260239Cel gegevens opmaken wanneer u een Excel-bestand met een ASP-pagina maakt
278973ExcelADO laat zien hoe u ADO gebruiken voor het lezen en schrijven van gegevens in Excel-werkmappen
286023Een VB ActiveX-component gebruiken voor het automatiseren van Word vanuit Internet Explorer
288130Het gebruik van ASP XML spreadsheet voor client-side weergave maken
Als uw bedrijf het maken van server-side Office 97, Office 2000, Office XP en Office 2003 binaire bestandsindelingen vereist, aanbod derden onderdelen die u kunnen helpen. Microsoft biedt geen dergelijke onderdelen, dus u moet zelf een oplossing bouwen of kopen bij een leverancier. Er zijn veel producten van andere leveranciers beschikbaar. U moet onderzoeken elke oplossing voor het beste overeenkomen met de leverancier van uw zakelijke behoeften.Als u wilt uw eigen oplossing bouwen bewerken die de Office De binaire bestandsindelingen 97, office 2000, Office XP en Office 2003 u direct kunnen verkrijgen het bestands indelings specificaties gratis onder de voorwaarden van de Microsoft Open Specification Promise (OSP verwijderen). Er is geen technische ondersteuning beschikbaar voor de documentatie of de producten die u maakt, maar de documentatie is beschikbaar. Ga naar de volgende website voor meer informatie:
http://www.Microsoft.COM/Interop/Docs/officebinaryformats.mspx
Server-side oplossingen ook willen gebruikers toestaan om te uploaden bestanden en vervolgens weer de bestanden voor het bekijken op het Web of op de server andere media. Microsoft werkt momenteel aan dergelijke functies bieden en biedt een vroege versie van deze functionaliteit in Microsoft Excel Services.

Excel Services is een nieuwe servertechnologie die deel uitmaakt in Microsoft Office Share Point Server 2007 en dat kunt u wilt laden, berekenen en weer geven van Excel-werkmappen op Office Share Point Server 2007. Voor meer informatie over Excel Services, gaat u naar de volgende Microsoft Developer Network (MSDN)-websites:
Excel Services-overzicht
http://msdn.Microsoft.com/en-us/library/ms546696.aspx
Walkthrough: Een aangepaste toepassing met Excel webservices ontwikkelen
http://msdn2.Microsoft.com/en-us/library/ms519100.aspx
Maken van zakelijke toepassingen met behulp van Excel Services en Office Open XML-indelingen
http://msdn.Microsoft.com/en-us/library/cc540662.aspx
Word Auto mat ion Services is een nieuwe service aanvraag in Share Point Server 2010. Word automatiseren Services biedt voor installatie zonder toezicht, server-side omzetting van documenten in indelingen die worden ondersteund door de clienttoepassing van Microsoft Word.

Word-automatisering-Services-overzicht
http://msdn.Microsoft.com/en-us/library/ee558830.aspx
Kennismaking met Word Auto mat ion Services
http://blogs.msdn.com/b/microsoft_office_word/Archive/2009/10/26/Introducing-Word-Automation-services.aspx
U nodig om te evalueren welke van de opties die in dit artikel wordt beschreven pakken de behoeften, en de beste manier om uw oplossing te implementeren. De informatie die dit artikel bevat niet alle problemen oplossen voor alle clients wordt gegarandeerd. U bent aangemoedigd om uw oplossing grondig testen voordat u uw oplossing implementeert.

Eigenschappen

Artikel ID: 257757 - Laatste beoordeling: dinsdag 16 juli 2013 - Wijziging: 3.3
De informatie in dit artikel is van toepassing op:
  • Microsoft Access 2010
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Excel 2010
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Outlook 2010
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft PowerPoint 2010
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Word 2010
  • Microsoft Office Word 2007
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Project Professional 2010
  • Microsoft Project Standard 2010
  • Microsoft Office Project Standard 2007
  • Microsoft Office Project Professional 2007
  • Microsoft Office Project Standard 2003
  • Microsoft Office Project Professional 2003
  • Microsoft Project 2002 Standard Edition
  • Microsoft Project 2000 Standard Edition
  • Microsoft Project 98 Standard Edition
  • Microsoft Visio Standard 2010
  • Microsoft Visio Professional 2010
  • Microsoft Office Visio Standard 2007
  • Microsoft Office Visio Professional 2007
  • Microsoft Office Visio Professional 2003
  • Microsoft Visio 2002 Standard Edition
  • Microsoft Visio 2002 Professional Edition
  • Microsoft MapPoint 2009 North America
  • Microsoft MapPoint 2006 Standard Edition
  • Microsoft MapPoint 2004 Standard Edition
  • Microsoft MapPoint 2002 Standard Edition
  • Microsoft MapPoint 2001 Standard Edition
  • Microsoft MapPoint 2000 Standard Edition
  • Microsoft OneNote 2010
  • Microsoft Office OneNote 2003
  • Microsoft Office OneNote 2007
  • Microsoft InfoPath 2010
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
Trefwoorden: 
kbqfe kbautomation kbprogramming kbservice kbmt KB257757 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.
De Engelstalige versie van dit artikel is de volgende: 257757

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com