2009-03-30 28 views
1

Outlook、Outlook、およびExcelのアドインを開発したいと考えています。今のところ私は2種類の解決策を知っています。 1つはShared Add-in(COMベース)、もう1つはVSTOベースのAdd-inをビルドするためのものです。 私はこれを初めて勉強しましたが、どちらの方が良いでしょうか? (または、3つ目の方法がある場合はお知らせください)Office 2003と2007の両方を対象にしています。そして、私はC#でこのアドインを開発することを好むだろう。Office(esp。Outlook)アドイン

+0

お返事ありがとうございます。 VSTOにはより多くのセットアップ要件があり、バージョン中立ではないことが分かったので、Vb.NetとCOMベースのAddinのように見えます。 –

答えて

2

C#で開発する場合は、VSTOを使用することを強くお勧めします。これははるかに簡単な追加開発フレームワークを持ち、C#で完全に動作します。

特にC#でCOMルートに行くのは、この時点で不要な余分な苦痛を加えるだけです。

+0

VSTOは本当に素晴らしいです。しかし、VSTOのパワーツールを忘れないでください;-) http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&displaylang=en – Gregor

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を使用して

+0

うわー、それは本当に刺激的です!知っておいてよかった! :-) –

関連する問題