2016-08-17 13 views
0

OK、私はMicrosoft.Office.Interop.Excel;を使用して、C#プログラムの内部でVBAコマンドを使用することができるということを認識しています。C#からマクロを実行しますか?

私が直面している問題は、10,000行に近いVBAがあり、それをC#互換コマンドに変換することはちょっと非現実的なことです。ワークブックを作成し、ユーザーが要求したときに印刷されるデータ操作と書式設定を実行します。

マクロをC#に保存し、マクロをそのまま実行できるブックを作成する方法はありますか?

+0

私は一度も使用していませんが、Interopにはマクロを実行するApplication.Run()メソッドがあります。 –

+0

これは役に立つかもしれません... http://stackoverflow.com/questions/9301354/inject-and-execute-excel-vba-code-into-spreadsheet-received-from-external-source – dazedandconfused

+0

http:// stackoverflow。 #65975802/excel-interop-c-sharp-cant-add-vbproject-error-800a03ec-on-workbook-vbproject-v/38978442?noredirect = 1#comment65333643_38978442かなり最近の – prizm1

答えて

0

マクロをそのままExcelで実行できます。この時 ルック:

Running an Excel Macro via C#: Run a macro from one workbook on another?

http://oakdome.com/programming/CSharp_RunExcelMacro.php

あなたはExcelが実行中に表示されるようにしたくない場合は、Excel.ApplicationClassためにVisibleプロパティをfalseに設定します。

+0

これは外部ファイルを実行します。私はそれを避けたい、b/cというのは、アプリケーションがすべてのユーザーのPC上のファイルの場所を知る必要があるということです。 – KyloRen

+1

実行するマクロを持つ標準モデルであるExcelファイルを持つことができます。実行時にモデルをクローンし、クローンのデータをインポートまたはプログラムで作成し、マクロを実行することができます。 – Alvimar

関連する問題