В макросах Starbasic, в LibreCalc, я не могу создать строку, которая будет передана в качестве выражения

#libreoffice-calc #libreoffice-basic

Вопрос:

В макросах Starbasic, в LibreCalc, я не могу создать строку, которая будет передана в качестве выражения.

  • splitColours(1) возвращает имя строки
  • cLightYellow возвращает значение переменной

Как преобразовать строку в выражение ?

          cLightYellow    = RGB(24,194,205)
         cLightPurple    = RGB(224,194,205)
         cLightGreen     = RGB(175,208,149)
         cBlue           = RGB(114,159,207)
         cOrange         = RGB(232,162,2)
         cGreen          = RGB(63,175,70)
         cBlack          = RGB(49,64,4 )

    Const oColours = "cLightYellow|cLightPurple|cLightGreen|" _
                       amp; "cBlue|cOrange|cGreen|cBlack"                                         
    splitColours   = Split(oColours, "|")




' print splitColours(1) returns the name of string
' print cLightYellow returns the value of the variable
 

Ответ №1:

    In Libreoffice forum, it was suggested that I can put them in Array: 

     cLightBlue      = RGB(180,199,220)
     cLightPurple    = RGB(224,194,205)
     cLightGreen     = RGB(175,208,149)
     cBlue           = RGB(114,159,207)
     cOrange         = RGB(232,162,2)
     cGreen          = RGB(63,175,70)
     cBlack          = RGB(49,64,4 )
    
     genColors = array( cLightYellow , cLightPurple, cLightGreen, _
                        cBlue, cOrange, cGreen, cBlack)

    for ii =  0 to 6 step 1

        print genColors(ii)

    next ii