C# で Excel の相互運用をすばやく開始して実行するのに役立つリソースは何ですか?
7 に答える
Ken Getz によるVisual Studio 2005 開発者の視点から見た Excel オブジェクト モデルの理解という記事では、Excel オブジェクト モデルについて詳しく説明しています。コード例は、VB.NET と C# の両方にあります。
C# と VBAでは、いくつかの重要な警告がカバーされています。
Visual C# .NET を使用して Office COM アドインをビルドする方法に関する記事も参照してください。
HTH...
1) まず最初に。Excel 相互運用のすべてのオブジェクト、プロパティ、メソッド、およびプロジェクトへの適切な参照にアクセスするOffice 相互運用アセンブリをダウンロードします。 注意:コードを実行するマシンには、これらのアセンブリもインストールする必要があります。それらをインストール パッケージに含めるか、.NET Framework 1.1 に付属しているため、クライアントにそれがインストールされている場合は、相互運用アセンブリが含まれている可能性があります。
2) MSDN には豊富な知識があります...使用するほとんどすべてのオブジェクトとメソッドは、MSDN で十分に文書化されています。
3) 注:C# で Interop を使用する際の奇妙な点の 1 つは、相互運用呼び出しの「欠落している」参照を手動で提供する必要があることです。最後の 2 つはオプションです。VBA では「省略」できます (つまり、MyMethod argumentOne) ...これは .NET からは機能しません。これは、Interop アセンブリを使い始めたときにしばらく混乱したことの 1 つです。次のように不足しているオブジェクトを手動で作成する必要があります (例は Word Interop のものですが、Excel またはその他の Office Interop パッケージにも同じプリンシパルが適用されます (また、いくつかの引数をボックス化し、以下のように ref で渡す必要があります)。
object missing = System.Reflection.Missing.Value;
string somestring = "string";
object refstring = (object)s;
wrd.Selection.Hyperlinks.Add(wrd.Selection.Range, **ref refstring, ref missing, ref missing, ref missing, ref missing**);
それが役立つことを願っています。
Excel オブジェクト モデルを学びたい場合は、VBA のヘルプが役立ちます。
「プライマリ相互運用機能アセンブリ」を使用して Excel を操作できます
これは、いくつかの有用な例を含む適切な記事です。
MSDNは常に読む価値があります。
マクロを (Excel で) 記録し、何が起こったかを分析することで、多くのことを学ぶことができます。
私の主要なプログラミング言語は C# ですが、Excel (またはその他の Office/COM オブジェクト) との通信には常に VB.Net を使用しています。これにより、VBA (記録済み) から .Net への転送が容易になります。
VB.Net を使用すると、レイト バインディングを簡単に操作できます。最初にアーリー バインディングを使用し (Intellisense を取得します)、その後、型を Object に変更することで、特定のバージョンの Office に依存しなくなりました。
MSDN には豊富な情報があります...
http://msdn.microsoft.com/en-us/library/ms173186(VS.80).aspx