这是我的代码,
public class Main : IExcelAddIn
{
public void AutoOpen()
{
dynamic app = ExcelDnaUtil.Application;
app.OnKey("^N", "FormatNumbers");
}
public void AutoClose()
{
}
}
public class KeyboardShortcuts
{
public static void FormatNumbers()
{
dynamic app = ExcelDnaUtil.Application;
dynamic selection = app.Selection;
selection.NumberFormat = "#,##0;[Red]-#,##0";
}
}
public static class MyFunctions
{
[ExcelFunction(Description = "My first .NET function")]
public static string SayHello(string name)
{
return "Hello " + name;
}
}
}
我目前正在使用 .NET 8.0 和 Windows-7.0 平台构建上述类。阅读文档后,我发现仅支持 .NET 6.0。
但是,项目构建得很好,并且静态
SayHello
功能正常工作。
我遇到的问题是
FormatNumbers
类没有。我出现以下错误消息,
无法运行宏“FormatNumbers”。该宏可能不可用或所有宏可能被禁用。
某些功能正在运行,因此显然这不是权限或防病毒问题。我已将信任中心设置设置为让所有宏运行并且加载项文件夹(包括子文件夹)受到信任,但仍然没有运气。
如果您能帮助我调试此问题,我将不胜感激。
提前谢谢您。
你可以试试
[ExcelCommand(ShortCut="^N")]
public static void FormatNumbers()
{
...
}
或使用 C API 而不是 COM 接口
XlCall.Excel(XlCall.xlcOnKey, "^N", "FormatNumbers");