Den sön 17 maj 2020 kl 03:28 skrev Jim <[email protected]>:

> I started experimenting with calling a basic function from a python
> script. I was surprised that without to much trouble I got it to work to
> a certain extent.
>
> I am working on linux Mint.
>
> I started with a basic Sub I found. In it's original form it had 3 rgb
> values hard coded and it popped up a message box that displayed the
> color value from the rgb input. I rewrote it as a Function that took the
> rgb values as parameters.
>
> Here is the basic:
>
> Function ColorExampleFunc(r as long, g as long, b as long)
> Dim lVar As Long
> lVar = rgb(207,231,245)
> msgbox "The color " & lVar & " consists of:" & Chr(13) &_
> "red= " & red(lVar) & Chr(13)&_
> "green= " & green(lVar) & Chr(13)&_
> "blue= " & blue(lVar) & Chr(13) , 64,"colors"
>
> end function
>
> Here is the python:
>
> #test_basic.py
> import os
>
> result = os.system('soffice
> "macro:///Standard.Module1.ColorExampleFunc(207,231,245)"')
>
> This works as it will pop up the message box with the color value
> displayed. What I need to do is capture that color value (which is
> usually an eight digit number) in variable in the python script.
>
> I printed result and it was equal to 0.
>


Well, you "rewrote it as a function", except that you didn't. The
difference between subroutines and functions (at least in Basic), is that
functions returns something. Yours don't, as far as I can see.
To return a value in Basic (at least LibreOffice Basic), you just set a
value to the function itself:

ColorExampleFunc=Something

I'm not sure what those eight digit numbers you are looking for are. Is it
something like b+g×2⁸+r×2¹⁶?

Kind regards

Johnny Rosenberg

>
> It's been a long time since I did anything in basic. I imagine I would
> have to get rid of the msgbox code and set the rgb values equal to a
> variable and then return them, but I'm not sure how to do it.
>
> Does anyone know how to get the color value in the python script?
>
> Thanks, Jim
>
>
> --
> To unsubscribe e-mail to: [email protected]
> Problems?
> https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
> List archive: https://listarchives.libreoffice.org/global/users/
> Privacy Policy: https://www.documentfoundation.org/privacy
>

-- 
To unsubscribe e-mail to: [email protected]
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Reply via email to