.dotmファイルを使用して、Word2007ドキュメントレベルのアドインに取り組んでいます。これは、ほとんどの場合、ドキュメントの特定の部分を作成および破棄するために使用されるドキュメントペインのボタンによって制御されるドキュメントです。作成されるもののいくつかはコンテンツコントロールです。
そのようなボタンの1つはトグルで、約10文字とコンテンツコントロールを削除して再度追加する必要があります。私の問題は、コンテンツコントロールを再作成しようとすると、Wordが「コマンドが失敗しました」というメッセージと-2146824090(または0x800a1066)のエラーコードでCOMExceptionをスローすることです。
Open
このエラーコードをグーグルで検索すると、これは、またはSaveAs
メソッドを使用してWordドキュメント、またはネットワークドライブ上のドキュメントとやり取りすることに関連するセキュリティ関連の例外であることがわかります(ここ、ここ、およびここの投稿を参照)。これは私がしていることにまったく適合しません。
コントロールを削除するために使用しているコードは次のとおりです。
LevelControl.LockContentControl = false;
LevelControl.Delete(true);
LevelControl = null; // probably not needed
レクリエーションコードは次のとおりです。
DropDownListContentControl LevelControl = this.Controls.AddDropDownListContentControl(r, "SectionLevel");
これは、最初にコントロールを作成するために使用しているのと同じコード行です。