2016-03-23 18 views
2

ExcelのようなMSオフィスのアプリケーションは、Visual Basic for Applicationsでプログラミングすることができます。高度なタスクのためにC#でMSオフィスをプログラムすることは可能ですか?C#でMSオフィスをプログラミングすることは可能ですか?

+1

私は、そこには2つの一般的な方向があると思います。まず、Excel(またはその他)内にいくつかの機能を追加するための一種のプラグインをプログラミングします。これは、例えば、パトリックが言ったように、VSTO。もう一つは、自分自身を凌駕するファイルを操作するプログラムです。これは、NPOI、またはそこにいくつかの他のライブラリの1つで行うことができます... –

+0

NPOIは、MicrosoftのドキュメントのためのJava APIのようなものです(これは.net用です)? – Fsalad

+0

NPOIは、Excel/WordファイルをC#アプリケーションから直接操作するためのクラス/メソッドを提供するライブラリです。 https://npoi.codeplex.com/をご覧ください –

答えて

4

はい、そうです。 Visual Studio Tools for Officeを使用すると、アドインをC#、VB.NETなどで記述することができます.COM interopを使用してOfficeと通信します。

また、最近ではJavaScriptとおそらくサーバーエンドポイントのハイブリッドで、C#でもコード化できるOffice appsがあります。

2

間違いなく。あなたは無料でVisual Studio Community 2015をインストールすることができます。そして、(パスは変更になる場合があります)このフォルダに見て:

C:\プログラムファイルのMicrosoftのVisual Studio \(x86の)ことができますここからOffice \ PIA \ Office15

12.0 \ Visual Studioツール各OfficeアプリケーションのDLLを見つける。

たとえば、Microsoft.Office.Interop.Excel.dllを実行すると、新しいC#プロジェクトを開始し、そのDLLをプロジェクト参照に追加します。

using Excel = Microsoft.Office.Interop.Excel; 

その後は、このようなあなたのExcelアプリケーションを初期化することができます。

Excel.Application xlApp = new Excel.Application(); 
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\path\file.xlsx"); 
Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 

これらのチュートリアルの豊富さがご来店中です。 DoNotPerlsは基本的に開始するには良い場所です:

  1. Excel
  2. Word
2

もう一つの大きな選択肢(と私はお勧め1)アドインエクスプレスを使用しています。 https://www.add-in-express.com

これらのツールセットは、VSTOまたはCOMアドインで可能な機能を大幅に拡張します。彼らのサポートは素晴らしく、サイトにはほぼすべてのOffice開発シナリオの例があります。

3

Excel-DNAは言うまでもありません。才能があり、非常に有益なチャップと良いコミュニティサポートによって書かれた驚くべき製品。無料で利用でき、Excelのカスタム機能、RTDサーバー、その他の機能を簡単に作成できます。

Excel-DNAは.NETをExcelに統合する独立したプロジェクトです。 Excel-DNAでは、C#、Visual Basic.NETまたはF#を使用してExcel用のネイティブ(.xll)アドインを作成し、高性能ユーザー定義関数(UDF)、カスタムリボンインターフェイスなどを提供できます。アドイン全体を、インストールや登録を必要としない単一の.xllファイルにパックすることができます。

カスタム関数を記述するのは、静的メソッドを作成し、コンパイルされたDLLまたは.csファイルに提供されたXLLファイルを含めるのと同じくらい簡単です。

0

Excelの場合、追加のアドインデプロイメントオーバーヘッドなしでライブのExcelセッションでC#を使用して、軽量ユーザー定義の関数とコマンドをインタラクティブに書くために、ESharperアドインを使用できます。

関連する問題