У меня есть функция Excel VBA, которая принимает ряд необязательных параметров, включая необязательный диапазон:
Function DazBeta(A As Range, Z As Range, _
B As Integer, _
Optional Freq As Integer = 1, _
Optional c As Double = 0, _
Optional r As Range, _
Optional Pct As Boolean = True, _
Optional Label As Integer = 1)
Я перевожу на VB.NET, и это необязательный диапазон, который доставляет мне горе, потому что VB.NET разрешает дополнительные диапазоны. Или, скорее, необязательные параметры должны предоставлять значение по умолчанию.
Каков рекомендуемый способ изменить подпись функции VB.NET, чтобы код вызывался из ячейки Excel как UDF? (VB.NET реализует UDF, сборка регистрируется как COM-сервер и электронная таблица Excel сообщают об этом сервере и библиотеке типов, что позволяет вызывать код VB.NET из ячейки электронной таблицы Excel.)
У меня есть другие проблемы с компиляцией, поэтому я не смог изучить это. Я думаю, что принятие необязательного объекта (значение по умолчанию Nothing) может сработать, и тогда я смогу привести объект к диапазону. В качестве альтернативы, если бы было значение по умолчанию, которое можно было бы указать с помощью необязательного Range, это также сработало бы.
Есть предложения?