Я пытаюсь создать базовую функцию макроса в Calc, чтобы выполнить шестнадцатеричное в двоичное преобразование с более чем 10 битами. Но у меня много проблем.
Во-первых, где я могу найти актуальную документацию? Я нашел только очень мало примеров, которые не очень помогли, и руководство по бейсику также довольно лаконично.
И в основном (если сначала не отвечает на это), как вы можете видеть в приведенном ниже примере, я пытаюсь использовать CONCATENATE
внутри макроса. Который является отлично работающей функцией внутри таблицы. Но я получаю следующее сообщение об ошибке:
Sub-procedure or function procedure not defined.
Итак, как использовать такую функцию внутри макроса, это вообще возможно?
Вот код моего макроса:
Function HEX2BINREAL(hexIn as string) as string
n = len(hexIn)
Dim binOut as string
binOut = ""
For i = 1 to n
ActChar = Mid(hexIn,i,1)
Select Case ActChar
Case "0"
binOut = CONCATENATE(binOut,"0000")
Case "1"
binOut = CONCATENATE(binOut,"0001")
Case "2"
binOut = CONCATENATE(binOut,"0010")
Case "3"
binOut = CONCATENATE(binOut,"0011")
Case "4"
binOut = CONCATENATE(binOut,"0100")
Case "5"
binOut = CONCATENATE(binOut,"0101")
Case "6"
binOut = CONCATENATE(binOut,"0110")
Case "7"
binOut = CONCATENATE(binOut,"0111")
Case "8"
binOut = CONCATENATE(binOut,"1000")
Case "9"
binOut = CONCATENATE(binOut,"1001")
Case "a", "A"
binOut = CONCATENATE(binOut,"1010")
Case "b", "B"
binOut = CONCATENATE(binOut,"1011")
Case "c", "C"
binOut = CONCATENATE(binOut,"1100")
Case "d", "D"
binOut = CONCATENATE(binOut,"1101")
Case "e", "E"
binOut = CONCATENATE(binOut,"1110")
Case "f", "F"
binOut = CONCATENATE(binOut,"1111")
End Select
next i
HEX2BINREAL = binOut
end Function
Спасибо