繁体   English   中英

Excel-Dna:ExcelCommand 和 ExcelDNA 共存。注册 Package

[英]Excel-Dna: Co-existence of ExcelCommand and ExcelDNA.Registration Package

我想在使用 ExcelDNA 注册 package 的 C# 程序中编写 ExcelCommand UDF。

但是,为了使用注册package,如果我在dna文件中设置explicitRegistraiton="true",下面这个简单的Excel命令就无法加载了。 其实是可以编译的,只是Excel插件选项卡中没有出现UDF命令。

如何在使用 ExcelDna 注册的程序中使用 excel 命令?

// C# program
    [ExcelCommand(MenuName ="Test", MenuText ="Test")]
    public static void SayHelloCommand()
    {   
        MessageBox.Show("Hello");
    }

// .dna file
    <DnaLibrary Name="Registration.Sample Add-In" RuntimeVersion="v4.0" >
      <ExternalLibrary Path="Registration.Sample.dll" ExplicitRegistration="true" LoadFromBytes="true" Pack="true" />
      <Reference Path="ExcelDna.Registration.dll" Pack="true" />
    </DnaLibrary>

一旦将ExplicitRegistration设置为true ,Excel-DNA 就会要求您自己注册函数和命令。

与调用ExcelRegistration.GetExcelFunctions().RegisterFunctions()注册函数的方法相同,您也可以调用ExcelRegistration.GetExcelCommands().RegisterCommands()来注册命令。

例如

public class AddIn : IExcelAddIn
{
    public void AutoOpen()
    {
        ExcelRegistration
            .GetExcelCommands()
            .RegisterCommands();

        // ...
    }

    public void AutoClose()
    {
        // ...
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM