2012-09-28 54 views
0

我正在使用.dotm文件處理Word 2007文檔級加載項。這是一個主要由文檔窗格上的按鈕控制的文檔,用於創建和銷燬文檔的某些部分。一些創建的內容是內容控制。在Word 2007中重新創建控件時出現錯誤代碼800A1066

一個這樣的按鈕是一個切換,需要刪除並重新添加約10個字符和一個內容控件。我的問題是,每當我嘗試重新創建內容控件時,Word都會通過消息「命令失敗」和錯誤代碼-2146824090(或0x800a1066)引發COMException。

谷歌搜索此錯誤代碼表明,這是關係到使用OpenSaveAs方法與Word文檔交互的安全有關的異常,或網絡驅動器上的文件(見職位hereherehere)。這不符合我所做的。

這裏是我使用刪除控件的代碼:

LevelControl.LockContentControl = false; 
LevelControl.Delete(true); 
LevelControl = null; // probably not needed 

這裏是休閒代碼:

DropDownListContentControl LevelControl = this.Controls.AddDropDownListContentControl(r, "SectionLevel"); 

這是相同的代碼行我使用創建最初控制。

回答

0

我的問題的原因是錯位的範圍對象。我不知不覺地將該範圍放在另一個內容控件中,該控件仍包含佔位符文本。不幸的是,這個錯誤信息沒有提到這個效果。

要確定您是否犯了同樣的錯誤,請嘗試在末尾調用r.Select(),而不是導致此異常的任何操作,並查看光標的放置位置。當你這樣做時(Review>Protect Document>Restrict Editing and Formatting),請確保文檔不限於在字段中進行編輯,否則它可能會自動移動到文檔的開頭或內容控件中,然後才能看到它。

相關問題