私は C# で (C# にも) アドインを作成するのは初めてです。ExcelDNA が単純な関数に対して非常にうまく機能することを確認しましたが、範囲の操作 (特にその名前で対処) という単純なタスクに行き詰まりました。このタスクに Interop を使用しようとしたことがわかります。これは私には簡単な方法に見えます。この非常に単純なコードで何が間違っているのでしょうか? 私はすでに ExcelDNA の Google グループに行きましたが、非常にぎこちない回答しか見つかりませんでした。
よろしくお願いします
ExcelDna.Integration の使用;
namespace MyAddIn
{
public class MyClass {
[ExcelFunction(Category = "MyFunctions", IsMacroType = true)]
public static string MyMacro(int a, int b)
{
var app = (Microsoft.Office.Interop.Excel.Application) ExcelDnaUtil.Application;
var range = app.get_Range("MyTag"); // this line does not fail, but I don't know if it
// selects the right range -- although MyTag exists
range.set_Value("hello") // it fails here
return (string) range.Value2; // or it would fail here as well
}
}
}
このエラーがスローされます
タイプ 'System.Reflection.TargetInvocationException' の最初の例外が mscorlib.dll で発生しました タイプ 'System.Runtime.InteropServices.COMException' の最初の例外が mscorlib.dll で発生しました