|
分類:[.NET 全般]
C#で、フォームからワードのVBAマクロを実行し、戻り値を取得したいと思っております。
C#側には、
RunCMacro(oWord, new Object[] { "Project.Module1.WordCount" });
private void RunCMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
ワード側には、
Public Static Function WordCount() As Long
Dim cRes As Long
cRes = ActiveDocument.ComputeStatistics(Statistic:=wdStatisticWords, IncludeFootnotesAndEndnotes:=True)
WordCount = cRes
End Function
としております。
ワード側を戻り値のないマクロを指定した場合などには、問題なく動作しております。
解決方法がありましたら、ご教授下さい。
|