On Sat, 2020-05-16 at 20:26 -0500, Jim wrote:
> 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.
>
> 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
>
>
You need used MasterScriptProviderFactory
Change the original Basic function to:
Function ColorExampleFunc(r As Integer, g As Integer, b As Integer) As
Long
ColorExampleFunc = RGB(r, g, b)
end function
Then you can call, look my example:
https://gitlab.com/snippets/1977700
Best regards
--
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