Le contexte : dans mon dossier user/Scripts/python figure un dossier pythonpath avec les bibliothèques mpmath et sympy. Je n'ai pu mettre en pièces attachées le dossier compressé.
Si je lance CallPython, j'obtiens bien un print dans LO avec Vive.
Si je lance le Script HelloPython avec la console APSO, j'ai bien comme retour Vive.
Je remplace return "Vive" par return m
Avec la console APSO, j'ai bien x**2 + 2*x + 1
MAIS, le script CallPython donne une erreur Script pas trouvé : Hello.py$HelloPython 0
Peut-être parce que x**2 + 2*x + 1 n'est pas interprété comme une chaîne ?
Code : Tout sélectionner
Sub CallPython
Toto = simpleScript("Hello.py$HelloPython","Python","user")
Print Toto
End Sub
Function simpleScript(nomScript As String, langage As String, emplacement As String)
Dim mspf As Object, scriptPro As Object, monScript As Object
mspf = createUnoService( "com.sun.star.script.provider.MasterScriptProviderFactory")
scriptPro = mspf.createScriptProvider("")
On Error Goto PasScript1
monScript = scriptPro.getScript("vnd.sun.star.script:" & nomScript & "?language=" & langage & "&location=" & emplacement)
simpleScript = monScript.invoke(Array(), Array(), Array())
On Error Goto 0
Exit Function
PasScript1:
Resume PasScript2
PasScript2:
MsgBox("Script pas trouvé : " & nomScript & " " & Erl, 16)
End Function
Code : Tout sélectionner
from sympy import *
def HelloPython( ):
m = symbolic()
return "Vive"
def symbolic( ):
x = Symbol("x")
y = expand((x+1)**2)
return y
Merci d'avance pour votre aide.