VB.NET эквивалент необязательного аргумента Range в функции VBA - PullRequest
2 голосов
/ 31 августа 2009

У меня есть функция 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, это также сработало бы.

Есть предложения?

1 Ответ

3 голосов
/ 31 августа 2009

Значением по умолчанию для необязательного параметра Range будет Nothing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...