Excel-Dna: сосуществование ExcelCommand и ExcelDNA. Пакет регистрации - PullRequest
0 голосов
/ 12 июля 2020

Я хотел бы записать ExcelCommand UDF в программе C#, которая использует пакет регистрации ExcelDNA. dna невозможно загрузить следующую простую команду Excel. Фактически, компиляция возможна, но команда UDF не отображается на вкладке надстройки Excel.

Как я могу использовать команду excel в программе, которая использует регистрацию ExcelDna?

// 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>

1 Ответ

1 голос
/ 12 июля 2020

После того, как вы установите ExplicitRegistration на true, Excel-DNA ожидает, что вы сами регистрируете функции и команды.

Так же, как вы вызываете ExcelRegistration.GetExcelFunctions().RegisterFunctions() для регистрации функций, вы также можете вызывать ExcelRegistration.GetExcelCommands().RegisterCommands() для регистрации команд.

например,

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

        // ...
    }

    public void AutoClose()
    {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...