web-dev-qa-db-ja.com

Visual StudioなしでMicrosoft Officeアドインを開発する方法

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

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

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

私が何とかしてできたことは、

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

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

27
Iain Sproat

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

Excel-DNA (.NETからユーザー定義のワークシート関数を公開する必要がある)を使用してExcelのアドインを作成している場合でも、NetOfficeは、 Excel COMオートメーションはExcel-DNAアドインからインターフェイスするため、連携して機能します。

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

18
Govert

編集:私の展望、Outlookへの言及を逃しました。

Outlookについては、 こちら をご覧ください。 Outlookの引き換えは便利です。

私はWordエキスパートではありませんが、Webにはたくさんのチュートリアルがあります。

Excelの場合は、実際に ExcelDNA を参照することをお勧めします

このトピックに関するSOに関する質問がたくさんあります。追加のアドバイスとして、 。netメソッドをExcel関数として公開する を参照してください。どこから始めて、どのようなオプションがあるか。

0
dash