Можно ли связывать вызовы функций с помощью Excel-ДНК?
Я пытаюсь вызвать что-то подобное из листа Excel:
=CreateAccount(CreateUser("John","Doe"))
Но внутренняя функция CreateUser
возвращает ExcelErrorValue
.
Демо C# код выглядит так:
namespace ExcelDnaDemo
{
using ExcelDna.Integration;
public static class MyFunctions
{
[ExcelFunction(Description = "C-U")]
public static object CreateUser(string firstName, string lastName)
{
return new User(firstName, lastName);
}
[ExcelFunction(Description = "C-A")]
public static string CreateAccount(
[ExcelArgument(
Name = "Usr",
Description = "User test", AllowReference = true)]
object user)
{
var a = new Account(user);
return $"{a.User.FirstName} {a.User.LastName} {a.Id}";
}
}
public class User
{
public User(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Account
{
public object User { get; private set; }
public Guid Id { get; private set; }
public Account(object user)
{
User = user;
Id = Guid.NewGuid();
}
}
}