Řešení potíží s chybami v řešeních pro systém Office
Při provádění následujících úkolů při vývoji řešení pro systém Office v sadě Visual Studio, může dojít k potížím:
Vytváření, aktualizace a otevírání projektů
Pomocí návrháře
Psaní kódu
Stavební projekty
Ladění projektů
Vytváření, aktualizace a otevírání projektů
Při vytvoření nebo otevření projekty Office, může dojít k následujícím chybám.
Projekt nelze vytvořit.
Došlo k chybě při pokusu o vytvoření nebo otevření projektu aplikace sady Office, ale Visual Studio neměl dostatek informací k určení příčiny.Zavřete projekt, ukončení aplikace Visual Studio a znovu spustit.
Pokud se pokoušíte vytvořit projekt úrovni dokumentu, je možné, že jiný dokument se stejným názvem jako dokument v novém projektu je již otevřen v aplikaci Excel nebo Word.Ujistěte se, zda jsou ukončeny všechny instance aplikace Excel nebo Word.
Vlastnosti ovládacího prvku jsou ztraceny při vytvoříte nový projekt založen na dokumentu z existujícího projektu
Pokud vytvoříte nový projekt Office na základě dokumentu z existujícího projektu, vlastnosti všech ovládacích prvků, které jsou v dokumentu nejsou zkopírovány do nového projektu.Je nutné ručně obnovit vlastnosti pro všechny dříve existující ovládací prvky.Alternativně můžete zachovat vlastnosti ovládacího prvku tak, že vytvoříte kopii existující projekt místo vytvoření nového projektu nebo načítání existujícího projektu do nové řešení (v návrháři) a zkopírováním a vložením ovládacích prvků z existujícího dokumentu do nového dokumentu.
Chyby při vytváření projektu aplikace Excel sešit založený na existujícím sešitu
Pokud vytvoříte nový sešit aplikace Excel projekt založený na existujícím sešitu, zobrazí se pravděpodobně kombinace následujících chyb.
Z aplikace Excel: "Upozornění ochrany osobních údajů: Tento dokument obsahuje makra, ovládací prvky ActiveX, informace rozšiřujícího balíku XML nebo webové komponenty.Ty mohou obsahovat osobní údaje, které nelze odebrat pomocí funkce Kontrola metadat."
Z aplikace Visual Studio: "Návrháři se nepodařilo načíst správně."
Tyto chyby může dojít že při pokusu o vytvoření projektu, který je založen na sešit, který měl své osobní informace odebrány ze souboru pomocí funkce Kontrola metadat.Chcete-li se této chybě vyhnout, proveďte následující kroky před vytvořením projektu.
Otevřete sešit v aplikaci Excel.
V aplikaci Excel otevřete Centrum zabezpečení.
Na Možnosti ochrany osobních údajů kartu vymazat z vlastností souboru odebrat osobní informace políčko.
Sešit uložte a ukončete aplikaci Excel.
Nelze otevřít projekt po přenesení
Po úřadu, který je řešení migrovány do systému Microsoft Office 2010, projekt nelze otevřít na vývojovém počítači s pouze systému Microsoft Office 2007 nainstalována.Může se zobrazit následující chyby.
"Jeden nebo více projektů v řešení nebyly správně načíst..Naleznete v okně Výstup podrobnosti."
"Nelze vytvořit projekt, protože v tomto počítači není nainstalována aplikace spojené s tímto typem projektu.Je třeba nainstalovat aplikaci Microsoft Office, která je spojena s tímto typem projektu."
Chcete-li tento problém vyřešit, upravte soubor .vbproj nebo .csproj.Pro projekt aplikace Word nahradit HostPackage s HostPackage = "{763FDC83-64E5-4651-AC9B-28C4FEB985A1}" = "{6CE98B71-D55A-4305-87A8-0D6E368D9600}".V projektu aplikace Excel nahradit HostPackage s HostPackage = "{B284B16A-C42C-4438-BDCD-B72F4AC43CFB}" = "{825100CF-0BA7-47EA-A084-DCF3308DAF74}".V projektu aplikace Outlook nahradit HostPackage s HostPackage = "{D2B20FF5-A6E5-47E1-90E8-463C6860CB05}" = "{20A848B8-E01F-4801-962E-25DB0FF57389}".
Můžete také zajistěte, že přenesené projekty jsou otevřeny na vývojovém počítači s již nainstalovanou sadou Microsoft Office 2010.
Chyby v upgradované projekty na úrovni dokumentu Office 2003, které obsahují ovládací prvky model Windows Forms
Pokud upgradujete projekt úrovni dokumentu sady Microsoft Office 2003 a dokument obsahuje ovládací prvky model Windows Forms, upgradovaném projektu může mít kompilace nebo chyby runtime.Chcete-li předejít tomuto problému, nainstalujte Visual Studio 2005 Tools for Office Second Edition Runtime na vývojovém počítači před upgradem projektu.Tato verze modulu runtime je k dispozici jako redistribuovatelná balíček ze serveru Microsoft Download Center na Microsoft Visual Studio 2005 Tools for Office Runtime Second Edition (VSTO 2005 SE) (x 86).
Po dokončení upgradu projektu můžete odinstalovat aplikaci Visual Studio 2005 Tools for Office Second Edition Runtime z vývojového počítače Pokud není používán jinými řešeními Office.
Pomocí návrháře
Při práci s dokumentu, sešitu nebo listu Návrhář v projekty na úrovni dokumentu, může dojít k následujícím chybám.
Návrhář správně načtení se nezdařilo.
Visual Studio nelze otevřít návrháře v následujících případech:
Aplikace Excel nebo Word je již spuštěna a je zobrazení modálního dialogového okna.Otevřete Návrhář, zkontrolujte, zda má aplikace Excel nebo Word modálního dialogového okna Otevřít a zavřít všechna modální dialogová.Pokud nejsou otevřeny žádné modálních dialogových oken, může být další akce, která je požadována aplikace Excel nebo Word reaguje.
Projekt je právě aktuální.Otevřete Návrhář, zastavit nebo ukončete ladění.
Aplikace Excel doplněk aplikace nainstalované na vývojovém počítači zobrazuje dialogové okno při spuštění aplikace Excel.Chcete-li vytvořit projekt úrovni dokumentu aplikace Excel, je nutné se nejdříve zakázat doplněk.
Ovládací prvky se zobrazí jako černé obdélníky v dokumentu nebo sešitu
Při seskupení ovládacích prvků v dokumentu nebo sešitu, aplikace Visual Studio již rozpozná ovládací prvky.Seskupené ovládací prvky nelze v Vlastnosti okno a zobrazí jako černé obdélníky v dokumentu nebo listu.Chcete-li obnovit jejich funkce musí oddělit ovládacích prvků.
Jsou ovládací prvky v šabloně aplikace Word nejsou viditelné v aplikaci Visual Studio
Pokud otevřete šablonu aplikace Word v návrháři Visual Studio nemusí být viditelné ovládací prvky v šabloně, které nejsou v textu.Důvodem je, že aplikace Visual Studio otevře aplikace Word šablony v Normální zobrazení.Chcete-li zobrazit ovládací prvky, klepněte na tlačítko zobrazení nabídky, přejděte na příkaz Microsoft Office Word zobrazit a potom klepněte na tlačítko Rozložení při tisku.
Vložit klip klipart příkaz nemá nic v návrháři Visual Studio
Při otevření v návrháři Visual Studio aplikace Excel nebo Word klepnete na tlačítko Klipart tlačítka ilustrace kartu na pásu karet se neotevře Klipart podokno úloh.Chcete-li přidat klipart, otevřete kopii sešitu nebo dokumentu, který je ve složce hlavního projektu (nikoli kopii, která je ve složce \bin) mimo sadu Visual Studio, přidat klipart a uložte sešit nebo dokument.
Psaní kódu
Při psaní kódu v projektech systému Office, může dojít k následujícím chybám.
Nejsou k dispozici některé události objektů systému Office pomocí jazyka C#
V některých případech se může zobrazit chyba kompilátoru jako následující při pokusu o přístup k určité události instance systému Office, zadejte primární sestavení interop (PIA) v projektu jazyka Visual C#.
"Nejednoznačnost mezi"Microsoft.Office.Interop.Excel._Application.NewWorkbook"a"Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook""
Tato chyba znamená, že se pokoušíte získat přístup k události, která má stejný název jako jiné vlastnosti nebo metody objektu.Chcete-li získat přístup k události, musíte přetypovat objekt, který chcete jeho rozhraní události.
Typy PIA sady Office, které mají události implementovat dvě rozhraní: základní rozhraní s vlastnostmi a metodami a rozhraní události, která obsahuje události, které jsou vystaveny na objekt.Tato událost rozhraní použít konvenci pojmenování objectnameudálostin_událost, jako je například AppEvents_Event a ApplicationEvents2_Event.Pokud nelze získat přístup k události, které jste očekávali na objekt, přetypujte objekt události rozhraní.
Například Application objekty mají NewWorkbook události a NewWorkbook vlastnost.Ke zpracování NewWorkbook přetypovat Application se AppEvents_Event rozhraní.Následující příklad kódu ukazuje, jak to provést v projektu na úrovni dokumentu pro aplikaci Excel.
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
((Excel.AppEvents_Event)this.Application).NewWorkbook +=
new Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
}
void ThisWorkbook_NewWorkbook(Excel.Workbook Wb)
{
// Perform some work here.
}
Další informace o rozhraní události v sestaveních PIA sady Office naleznete v tématu Overview of Classes and Interfaces in the Office Primary Interop Assemblies.
Nelze odkazovat třídy PIA sady Office v projektech cílených .NET Framework 4 nebo.NET Framework 4,5
V projektech cílených .NET Framework 4 nebo .NET Framework 4,5, ve výchozím nastavení není možné zkompilovat kód, který odkazuje na třídu, která je definována v PIA sady Office.Třídy v PIA používají konvence objectnametřídy, jako například DocumentClass a WorkbookClass.Například následující kód v projektu doplňku aplikace Word nezkompiluje.
Dim document As Word.DocumentClass = Globals.ThisAddIn.Application.ActiveDocument
Word.DocumentClass document = (Word.DocumentClass) Globals.ThisAddIn.Application.ActiveDocument;
Tento kód má za následek následující chyby kompilace:
Visual Basic: "odkaz na třídu 'třídu DocumentClass' není povolena, pokud jeho sestavení je spojen s použitím režimu No-PIA."
Visual C#: "interoperabilním typu 'Microsoft.Office.Interop.Word.DocumentClass' nemůže být vložen.Použijte příslušné rozhraní."
Chcete-li tuto chybu vyřešit, změňte kód odkazující na odpovídající rozhraní namísto.Například místo odkazu DocumentClass objekt, instanci odkazují Document namísto rozhraní.
Dim document As Word.Document = Globals.ThisAddIn.Application.ActiveDocument
Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;
Projekty, které se zaměřují .NET Framework 4 nebo .NET Framework 4,5, automaticky vložit všechny interoperabilní typy v sestaveních PIA sady Office ve výchozím nastavení.K této chybě kompilace dochází, protože funkce vložené interoperabilní typy pracuje pouze s rozhraním, nikoli třídy.Další informace o rozhraní a třídy v sestaveních PIA sady Office naleznete v tématu Přehled tříd a rozhraní v primární sestavení Interop Office.Další informace o funkci vložený interoperabilní typy v projektech systému Office naleznete v tématu Navrhování a tvorba řešení pro systém Office.
Odkazy na třídy sady Office nebyl rozpoznán.
Některé třídy názvy, například Application, jsou ve více oborů názvů, jako je například Microsoft.Office.Interop.Word a System.Windows.Forms.Z tohoto důvodu Imports/using příkaz do horní části šablony projektu obsahuje zkrácený zápis kvalifikační konstanta, například:
Imports Word = Microsoft.Office.Interop.Word
using Word = Microsoft.Office.Interop.Word;
Toto použití Imports/using prohlášení vyžaduje odlišit odkazy na třídy sady Office s kvalifikátorem aplikace Word nebo Excel, například:
Dim doc As Word.Document
Word.Document doc;
Pokud například použijete neúplných prohlášení, obdržíte chyby:
Dim doc As Document ' Class is ambiguous
Document doc; // Class is ambiguous
I když jste importovali oboru názvů aplikace Word nebo Excel a mít přístup ke všem třídám uvnitř musí plně kvalifikujte všechny typy s Word nebo Excel Chcete-li odebrat nejednoznačnosti oboru názvů.
Stavební projekty
Když sestavujete projekty Office, může dojít k následujícím chybám.
Nelze sestavit projektu na úrovni dokumentu, který je založen na dokumentu s omezeným oprávněním
Visual Studio nelze sestavit projekty na úrovni dokumentu v případě, že dokument má omezená oprávnění.Pokud váš projekt obsahuje dokument, který má omezená oprávnění, projekt není možné zkompilovat a zobrazí se následující zpráva v Seznam chyb okna.
"Nepodařilo se přidat vlastní nastavení."
Pokud chcete zahrnout dokumentu, který má omezená oprávnění, použijte neomezený dokumentu při vývoji a sestavte řešení.Po publikování řešení pak aplikovat omezená oprávnění k dokumentu v umístění pro publikování.
Po odstranění NamedRange ovládací prvek, dojde k chybám kompilátoru
Odstraníte-li NamedRange ovládacího prvku ze sešitu, který není aktivní list v Návrháři automaticky vygenerovaný kód nebudou odebrány z projektu a může dojít k chybám kompilátoru.Chcete-li odebrat kód, by měl vždy vyberte list, který obsahuje NamedRange ovládacího prvku tak, aby před odstraněním ovládací prvek v aktivním listu.Automaticky vygenerovaný kód není odstraněn při odstranění ovládacího prvku, můžete způsobit návrháři odstranit kód aktivace listu a provedení změny tak, aby list bude označena jako změněná.Když sestavíte projekt, je odebrán kód.
Ladění projektů
Při ladění projektech systému Office, může dojít k následujícím chybám.
Při publikování a instalace řešení na vývojovém počítači, zobrazí se výzva k odinstalaci
Při ladění řešení aplikace sady Office, může se zobrazit následující chybová zpráva.
"Vlastní nastavení nelze nainstalovat, protože jiná verze je nainstalována a nelze ji inovovat z tohoto umístění."
Tato chyba označuje, že jste dříve publikována a řešení Office nainstalované na vašem vývojovém počítači.Chcete-li zabránit zobrazování zprávy, odinstalujte řešení ze seznamu nainstalovaných programů v počítači před ladění řešení.Alternativně můžete vytvořit jiný uživatelský účet na vašem vývojovém počítači, chcete-li otestovat instalaci publikované řešení.
Projekty na úrovni dokumentu vytváří v síťových umístěních UNC není spuštěn ze sady Visual Studio
Pokud vytvoříte projekt úroveň dokument pro aplikaci Excel nebo Word v síťovém umístění UNC, je nutné přidat umístění dokumentu do seznamu důvěryhodných umístění v aplikaci Excel nebo Word.Přizpůsobení, jinak nebude načten, při pokusu o spuštění nebo ladění projektu v aplikaci Visual Studio.Další informace o důvěryhodných umístění, viz Udělení důvěry dokumentům.
Vlákna není správně ukončena po ladění
Projekty Office v sadě Visual Studio podle vlákno pro pojmenování umožňuje ladicí program správně ukončit program.Pokud vytvoříte vláken ve vašem řešení, byste měli pojmenovat každý podproces s předponou VSTA_, aby tyto vlákna jsou při zastavení ladění zpracovány správně.Například může být nastavena Name vlastnost podproces, který čeká na událost sítě na VSTA_NetworkListener.
Nelze spustit nebo ladit jakékoli řešení Office na vývojovém počítači
Pokud nelze spustit nebo vytvořit projekt Microsoft Office na vašem vývojovém počítači, zobrazí se následující chybová zpráva.
"Vlastní nastavení nelze načíst, protože nelze vytvořit doménu aplikace."
Aplikace Visual Studio používá pro ukládání do mezipaměti sestavení před načtením řešení Office jaderné syntézy, modul načítající sestavení rozhraní.NET Framework.Ujistěte se, že aplikace Visual Studio můžete zapsat do mezipaměti jaderné syntézy a akci opakujte.Další informace naleznete v tématu Stínové kopírování sestavení.
Chyba při zastavení ladicí program v projektu na úrovni dokumentu po použití Uprav a pokračuj
Používáte-li Edit and Continue změny kódu v projektu na úrovni dokumentu pro aplikaci Excel nebo Word během projektu je v režimu pozastavení, může zobrazit dialogové okno s následující chybovou zprávu, je-li následně zastavení ladicí program.
"Ukončení procesu v aktuálním stavu může způsobit nechtěné následky včetně ztráty dat a nestability systému."
Zda klepněte na Ano nebo č v dialogovém okně aplikace Visual Studio, ukončí proces aplikace Excel nebo Word a zastaví ladicí program.Zastavit ladění projektu bez zobrazení tomuto dialogovému oknu, ukončete aplikaci Excel nebo Word přímo spíše než zastavení ladicí program sady Visual Studio.
Viz také
Úkoly
Řešení potíží se zabezpečením řešení pro systém Office
Koncepty
Řešení potíží s nasazením řešení pro systém Office