2016-09-23 3 views
1

私はVSTOでExcel AddInをビルドするためにC#を使用していますが、私が書いたVBAモジュール(.basファイル)をExcelに自動的にインポートして実行します。ユーザーが私のExcel AddInをExcelのCom AddInsからインポートします。c#VSTOハードドライブからVBAモジュールを実行する

私は次のように試してみました:

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
    { 
     this.Application.Run(@"C:\myModule.bas"); 
    } 

しかしエラーました:私の質問を読んで人々に事前にCannot run the macro 'C:\myModule.bas'. The macro may not be available in this workbook or all macros may be disabled.

感謝を!

答えて

4

あなたがモジュールを実行しない

wb.VBProject.VBComponents.Import ("C:\\Module1.Bas"); 

と同じくらい簡単です。モジュールでプロシージャを実行します。この手順を実行するには、単に

oXL.Run "Procedure Name(parameters if any)" 

続きを読むHow to dynamically add and run a VBA macro from Visual Basicを使用してください。それはVBAで説明されていますが、私はあなたが簡単にC#にそれを適応させることができると確信しています。問題がある場合は教えてください。

+0

ありがとうございました!私は今これにメッセージしています。もっと議論するつもりです。 –

+0

上記のようにまずインポートしてから実行してください。 –

+0

今はうまく動作しています!ありがとうございました! –

関連する問題