Word2010で苦戦...

年末年始休みというのに、仕事がうまく区切りがつかないと気になっていやなものです.
 
実はWord2010+アドインで苦戦しています.今までWord2003+VBAでやってきてなんの問題もなかったのですが、Word2010でVS2010で作ったアドインから自社製の同じActive-XコントロールをWord文書に貼り付けると、Wod2010の.docxではActive-Xコントロールのネイティブデータが書き込まれないのです.このため文書を保存して開きなおしてもActive-Xの表示が不正になってしまいます.Word2003ではネイティブデータがちゃ~んとBase64でWordML(.xml)に書き込まれます.ですから開きなおしてもActive-Xの表示は正常です.
 
おかしな?と思いながらたまたまWord2010での保存形式を.docや.xml(Word2003のWordML)に変えるとちゃんとネイティブデータは保存されているではありませんか.開きなおしても、Active-Xの表示は正常なのです.
 
Office2010はマイクロソフトも言っているように、セキュリティが格段にきびしくなりました.たぶんその影響を受けていると思うのですが、いくらセキュリティ関係の設定を変更したりしても結果はかわりません.
 
ところがふと考えて、アドインでInlineShapes.AddOLEControlとやっているところをInlineShapes.AddOLEObject に変更してみました.すると保存して開きなおしてもActive-Xの表示は正常になっています.びっくりしてさっそく.docxをコピーして.zipにリネームし、中をのぞいてみると、word/embeddingにオブジェクト毎のネイティブデータがあるではありませんか?ヤッタ!でもAddOLEControlでダメで何故AddOLEObjectだとOKなのか理解できません.それにOLE ObjectとActive-XではWordでの操作も変わってしまいます.
 
マイクロソフトのサポートに問い合わせても残念ながらこのような範疇は無償サポートというわけには行きません.なんとかActive-XのAddOLEControlで動いてもらいたいのですが、時間切れで年越しとなってしまいました.無念!