28

C#.NetでMS Officeアドインを開発しようとしていますが、VisualStudioにアクセスできません。代わりに、SharpDevelopをIDEとして使用しています(ただし、私の質問は、他のIDEを使用して開発したり、コマンドラインからコンパイルしたりする人にも同様に関連しています...)

アドインの開発方法に関するガイドを少し検索しましたが、すべてVisual Studioが必要であり、次の手順に従うようです。

  1. 相互運用機能アセンブリをインストールします
  2. Visual Studio .Netプロジェクトを作成します(このビットは実行できません
  3. VSThisAddInテンプレートを拡張します

私が何とかしたことは次のとおりです。

  1. 相互運用機能アセンブリをインストールします
  2. C#の空のSharpDevelopプロジェクトを作成します
  3. Microsoft.Office.Interop.OutlookにGAC参照を追加します
  4. MicrosoftOffice12.0オブジェクトライブラリへのCOM参照を追加します
  5. 行を追加しますusing Outlook = Microsoft.Office.Interop.Outlook;
  6. とラインusing Office = Microsoft.Office.Core;
  7. いくつかのサンプルコードを見て、それらがすべて私が持っていないVSテンプレートとVSTOライブラリ(Microsoft.Office.Tools)を参照していることを理解してください。

ここからどこへ行くの?私が見逃したガイド/チュートリアルはありますか、または誰かがいくつかのポインタを提供できますか?

4

2 に答える 2

20

NetOffice(http://netoffice.codeplex.comまたはhttps://osdn.net/projects/netoffice/)は、Office用のバージョンに依存しない相互運用機能アセンブリの優れたセットです。SharpDevelopを使用してアドインを作成するために必要なのはこれだけです。プロジェクトには、Outlook用のものを含め、多数のチュートリアルとサンプルもあります。

Excel-DNA (.NETからユーザー定義のワークシート関数を公開する必要があります)を使用してExcelのアドインを作成している場合でも、NetOfficeは、ExcelからExcelCOM自動化インターフェイスにアクセスするための補完的なライブラリセットを提供します。 -DNAアドインなので、一緒にうまく機能します。

NetOfficeとExcel-DNAの両方で、無料のVisual Studio Expressエディションを使用することもできます(デバッグを機能させるために必要ないくつかの小さなトリックがあります)。VisualStudioExpressにはVSTOはまったく含まれていません。SharpDevelopには、組み込みのリファクタリングやVB.NET <-> C#変換ツールなど、Expressエディションよりも多くの機能があるため、無料のIDEとしてSharpDevelopを選択するのには十分な理由があります。

于 2011-12-08T09:18:51.347 に答える
0

編集:私はOutlookへの参照、私の黙示録を逃しました。

Outlookについては、こちらをご覧ください。Outlookの償還は便利です。

私はWordExpertではありませんが、Web上にはたくさんのチュートリアルがあります。

Excelの場合、実際にExcelDNAを確認することをお勧めします

このトピックに関するたくさんのSOの質問。.netメソッドをExcel関数として公開するを参照してください。たとえば、どこから始めればよいか、どのような選択肢があるかについての追加のアドバイスとして。

于 2011-12-07T12:57:31.510 に答える