передать функцию
То есть сигнатура процедуры должна быть proc(f, g) , где f(x) и g(x) - мои же функции, которые потом я вызываю в этой процедуре с нужными значениями параметров.
Нашла способ через evaluate, то есть передаю название ф-ции как строку: proc(ByVal F As String, ByVal G As String), , а потом выполняю с помощью Evaluate(F & "(" & CStr(CDbl(x)) & ")") но выглядит написанное коряво + Cstr подменяет точку в параметрах на запятую(видимо, из-за моих рег настроек) поэтому приходится еще делать Replace(CStr(x), ",", "."), что дополнительно нагромождает код.
Посоветуйте, как сделать такую элементарную вещь по-человечески?
Цитата:
Originally posted by Kitty
Нужно в процедуру передавать функцию. Как это реализовать в vba?
То есть сигнатура процедуры должна быть proc(f, g) , где f(x) и g(x) - мои же функции, которые потом я вызываю в этой процедуре с нужными значениями параметров.
Нашла способ через evaluate, то есть передаю название ф-ции как строку: proc(ByVal F As String, ByVal G As String), , а потом выполняю с помощью Evaluate(F & "(" & CStr(CDbl(x)) & ")") но выглядит написанное коряво + Cstr подменяет точку в параметрах на запятую(видимо, из-за моих рег настроек) поэтому приходится еще делать Replace(CStr(x), ",", "."), что дополнительно нагромождает код.
Посоветуйте, как сделать такую элементарную вещь по-человечески?
Нужно в процедуру передавать функцию. Как это реализовать в vba?
То есть сигнатура процедуры должна быть proc(f, g) , где f(x) и g(x) - мои же функции, которые потом я вызываю в этой процедуре с нужными значениями параметров.
Нашла способ через evaluate, то есть передаю название ф-ции как строку: proc(ByVal F As String, ByVal G As String), , а потом выполняю с помощью Evaluate(F & "(" & CStr(CDbl(x)) & ")") но выглядит написанное коряво + Cstr подменяет точку в параметрах на запятую(видимо, из-за моих рег настроек) поэтому приходится еще делать Replace(CStr(x), ",", "."), что дополнительно нагромождает код.
Посоветуйте, как сделать такую элементарную вещь по-человечески?
Поясните, пожалуйста, смысл подобных манипуляций (на первый взгляд такой способ весьма экзотичен).
Цитата:
Originally posted by Dmitrii
Поясните, пожалуйста, смысл подобных манипуляций (на первый взгляд такой способ весьма экзотичен).
Поясните, пожалуйста, смысл подобных манипуляций (на первый взгляд такой способ весьма экзотичен).
Если кратко , то: "как передать в процедуру указатель на ф-цию в качестве параметра".
Тк , как я понимаю,никак не передать, то описала каким образом я делаю это сейчас и интересуюсь, как подобные вещи делают "знающие люди".