0

Outlook、Word、Excel のアドインを開発したいと考えています。現在、私は2種類の解決策を認識しています。1 つは共有アドイン (COM ベース) 用で、もう 1 つは VSTO ベースのアドインを構築するためのものです。私はこれに慣れていないので、どちらがより良い選択肢でしょうか? (または3番目の方法があれば教えてください) Office 2003と2007の両方を対象としています。そして、このアドインを C# で開発することをお勧めします。

4

2 に答える 2

3

あなたの質問への直接的な回答ではありませんが、アドインの開発を開始する前に検討する価値があります: Reed が既に述べたように、VB.Net を使用して Office アドインを開発する場合、C# を使用するよりもはるかに簡単になります。

通常、Office オブジェクト モデルへの呼び出しでは、いくつかの省略可能なパラメーターが除外されます。ただし、C# では、C# には (まだ) オプションのパラメーターがないため、オプションのパラメーターをすべて指定する必要があります。COM アドインの場合、引数を自分でボックス化する必要があります。つまり、単純な bool または int を渡す代わりに、最初に参照型に変換する必要があります。これらすべてにより、コードは非常に読みにくくなります。

たとえば、Word でドキュメントを開くコードは、C# では次のようになります。

object objTrue = true;
object objFalse = false;
object missing = Type.Missing;
object objInputFile = strInputFile;
Document document = WordApplication.Documents.Open(ref objInputFile, 
    ref objFalse, ref objTrue, ref objFalse, ref missing, ref missing, 
    ref missing, ref missing, ref missing, ref missing, ref missing, 
    ref objFalse, ref missing, ref missing, ref objTrue, ref missing);

一方、VB.Net で同じことを行うと、読み書きがはるかに簡単になります。

Document document = WordApplication.Documents.Open(strInputFile)

(追加情報: C# 4.0 では、これはdynamicを使用してより簡単になります)

于 2009-03-30T17:10:30.450 に答える
2

C# で開発する場合は、VSTO を使用することを強くお勧めします。これは、はるかに単純な追加開発フレームワークを備えており、C# と完全に連携します。

特に C# を使用して COM ルートを使用することは、現時点では不要な余分な苦痛を追加するだけです。

于 2009-03-30T16:55:53.043 に答える