3

Excel用のリボンバーを含むVSTO2010プロジェクトを作成しました。これは正常に実行されますが、一部のお客様はOffice2007を実行することになります。

2007年にインストールを試みましたが、運がありませんでした(リボンは実行中のアドインとして表示されますが、Excelのリボンタブには表示されません)。このSOの質問に記載されている手順(2010の参照dllを2007の参照dllに置き換える)を実行しようとしましたが、成功しませんでした。

新しい2007プロジェクトを作成する必要がない提案(私が理解しているように、開発マシンでOffice 2010をアンインストールし、代わりに2007をインストールする必要があります)をいただければ幸いです

ありがとう!

4

2 に答える 2

5

ああ。リボンXMLを単一のラベルに分解したときに見つけたリボンXMLのスキーマに問題があることが判明し、XML内のコントロールなどが非互換性を引き起こしていないかどうかを確認しました。

私たちは使用していました(おそらく例からコピーされたものです)

xmlns="http://schemas.microsoft.com/office/2009/07/customui"

しかし、一度変更すると:

xmlns="http://schemas.microsoft.com/office/2006/01/customui"

リボンはすぐに表示され、実行中のアドインとして表示されるリボンの症状に適合しましたが、Excel自体には表示されませんでした。前述のように(詳細については、このSOの投稿を参照してください)、v12オフィスと相互運用DLLを使用する必要がありました。

于 2012-09-04T13:27:39.183 に答える
2

2007と2010を並べてインストールし、コマンドラインで次のコマンドを実行するか、これをバッチファイルに配置することで、2つの切り替えの問題を回避できます。

reg add HKCUSoftwareMicrosoftOffice14.0WordOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice14.0ExcelOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice14.0PowerPointOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice14.0AccessOptions /f /v NoRepairNeeded /t REG_DWORD /d 1

reg add HKCUSoftwareMicrosoftOffice12.0WordOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice12.0ExcelOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice12.0PowerPointOptions /f /v NoReReg /t REG_DWORD /d 1
reg add HKCUSoftwareMicrosoftOffice12.0AccessOptions /f /v NoRepairNeeded /t REG_DWORD /d 1

あなたのコードに関しては、12と14のExcel相互運用コードは多かれ少なかれ交換可能であることがわかりました。Excel Interop 14で、12にないものを使用していますか?

2つのプロジェクトは理想的ではないように思われるかもしれませんが、このルートに進む必要があるかもしれません。利点は、すべてを多かれ少なかれコピーして貼り付けることができることです。特に、2007プロジェクトのすべてを作成する場合は、その逆とは対照的に、2010プロジェクトにコピーして貼り付けることができます。

お役に立てれば

于 2012-09-04T12:53:23.323 に答える