私はC#アプリケーション(.Net 1.1)を使用していますが、いくつかのreoprtを表示するためにinteropを使用します。 Excelのワークブックを開くとき、XLSTARTのファイルは読み込まれませんが、/ automationコマンドラインスイッチが実行されているかのように見えます。Excel XLSTART C#/の問題
C#からXLSシートを起動するときにXLSTARTを有効にする方法はありますか?
私はC#アプリケーション(.Net 1.1)を使用していますが、いくつかのreoprtを表示するためにinteropを使用します。 Excelのワークブックを開くとき、XLSTARTのファイルは読み込まれませんが、/ automationコマンドラインスイッチが実行されているかのように見えます。Excel XLSTART C#/の問題
C#からXLSシートを起動するときにXLSTARTを有効にする方法はありますか?
interopを使用するため、オートメーションサーバーとしてExcelを開きます。/automationスイッチを使用するのと同じことです。このようにExcelを開くと、自動的に開いたファイルと自動実行マクロはすべて無効になります。
この動作は仕様です。あなたは、マイクロソフトによって記載されているように自分自身をフォルダXLSTARTにアドインを読み込むことができます。
Add-ins do not load when using the CreateObject command in Excel
あなたが持っている別のオプションからProcess.Start
を使用してExcelを起動し、オートメーションオブジェクトです実行中のインスタンスにはAccessibleObjectFromWindow
関数を呼び出します。 C#やVBでこれを行うにはどのようにコードが関連する質問で見つけることができます
サンプル:
は、あなたのように遅延バインディングを使用する必要はありませんので、予めご了承ください与えられた例では、このようなサンプルを変更すると、強く型付けされたExcel.Application
オブジェクトが得られます。
Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
BindingFlags.GetProperty, null, ptr, null);