Я написал модуль Excel для преобразования координат широты/долготы в UTM. Основная процедура - это sub, которая определяет аргументы и вызывает функцию, которая в свою очередь вызывает функцию DLL. Идея заключается в том, что функция открывает окно аргументов функции для пользователя, чтобы предоставить данные (функция определена в другом подклассе Application.MacroOptions).Excel VBA: Может ли подзаголовок UDF с непризнанными аргументами?
Sub GeoToTM()
'Declare variables
Dim TM() As Variant
Dim Lat As Double
Dim Lon As Double
Dim TMProj As Integer
Dim Ellipsoid As Integer
'Call Excel function
TM = GeoConv(Lat, Lon, TMProj, Ellipsoid)
End Sub
'VBA function wrapper
Function GeoConv(Lat, Lon, TMProj, Ellipsoid) As Variant
Dim East As Double
Dim North As Double
Dim locTM(1 To 2) As Variant
'Call C++ function
GeodeticToTM Lat, Lon, TMProj, Ellipsoid, East, North
locTM(1) = East: locTM(2) = North
GeoConv = locTM
End Function
Функция на своих собственных преформ, как рекламируется, но когда я запускаю весь модуль функции осуществляется доступ, но окно аргумент функции не появляется; аргументы никогда не заполняются, поэтому функция возвращает нули.
Как я могу заставить это работать? Здесь аргумент «Опция»?
Спасибо,
Chris
Если я понимаю, что вы просите о, [вы не можете] (http://stackoverflow.com/q/5282128/11683). – GSerg