Macro ne fonctionne pas

Résolu/Fermé
Damien007 - Modifié le 24 juin 2020 à 11:59
 Damien007 - 24 juin 2020 à 16:41
Bonjour,

Je ne connais rien à libreoffice openoffice mais je dois m'y mettre (sur libreoffice) et je dois notamment faire des macros (je suis un utilisateur modeste d'excel VBA).

j'ai regardé sur net, j'ai copié stricto sensus un code libreoffice sensé marcher mais ça ne marche pas chez moi (libreoffice Version: 6.2.8.2 (x64), windows 10). je cherche mais je ne trouve pas alors je ne suis décidé a venir demander de l'aide, d'avance merci !

j'ai l'impression qu'il me manque des extensions ou je ne sais quoi pour que ça marche (pour faire marcher les lignes de type com.sun.star....?) , voici le code copié et qui me renvoi erreur 423 (sur la ligne : dimensionsForme.Widht = 2600) quand je exécute :

public Sub test01

Dim monDoc As Object
Dim lesFeuilles As Object
Dim maFeuille As Object
Dim maPage As Object
Dim maForme As Object
Dim dimensionsForme As New com.sun.star.awt.Size
Dim positionForme As New com.sun.star.awt.Point
 
monDoc = ThisComponent
lesFeuilles = monDoc.Sheets
maFeuille = lesFeuilles.getByName("tableau_bord")
maPage = mafeuille.DrawPage

dimensionsForme.Widht = 2600
dimensionsForme.Height = 1200
positionForme.x = 3500
positionForme.y = 3500

maForme = monDoc.createInstance("com.sun.star.drawing.EllipseShape")
maForme.Size = dimensionForme
maPage.add(maForme)
maForme.Position = positionForme

end sub



merci d'avance

Configuration: Windows / Chrome 83.0.4103.106

6 réponses

OOoForum
Messages postés
3855
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
9 mai 2022
985
24 juin 2020 à 16:31
Pour ton info, la macro fonctionne.
Il faut juste être un peu plus rigoureux quant à la rédaction des variables.



2
merci beaucoup !

effectivement, je pensais a un truc beaucoup plus compliqué mais là ça marche,
0
yclik
Messages postés
2868
Date d'inscription
vendredi 25 juillet 2014
Statut
Membre
Dernière intervention
24 mai 2022
1 314
24 juin 2020 à 16:38
Bonjour

remplacer : dimensionsForme.Widht = 2600
par :
dimensionsForme.Width = 2600


remplacer : maForme.Size = dimensionForm
par
maForme.Size = dimensionsForme
1
parfait merci
0
pijaku
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 695
24 juin 2020 à 12:07
Bonjour,

Essaye l'exemple page 80 de ce document : https://jazz.ensil.unilim.fr/outils_info/OOo_API_intro-04.pdf
0
Bonjour et merci pour le doc,

j'ai essayé, j'ai aussi un message d'erreur, différent cette fois erreur '1' type: com.sun.star.lang.illegalArgumentException

par curiosité j'ai installé apache openoffice, j'ai le même message d'erreur sur cette macro.
0
tien après avoir installé open office et réouvert libreoffice, j'ai ce message à l'ouverture de libreoffice :

"libreoffice nécessite un environnement d'exécution java (JRE) 64-bit pour réaliser cette tâche. Veuillez installer un JRE puis redémarrer LibreOffice"

c'est surement ça le pb, ceci dit j'ai souvenir d'avoir vu ce message et d'avoir fait ce qui était demandé, je vais refaire et voir si le problème persiste.

EDIT : Bon j'ai réinstallé JRE, en faisant attention de choisir 64bit (j'avais surement fait 32bit qui est par défaut la première fois), je n'ai plus le message d'erreur mais par contre mes macros continuent de ne pas fonctionner
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OOoForum
Messages postés
3855
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
9 mai 2022
985
24 juin 2020 à 16:04
"Ne pas fonctionner" n'aidera pas ceux qui tentent de vous aider.
Il faut fournir un document intégrant la macro.


Et le plus simple est de vous adresser sur un forum spécialisé en programmation :
https://forum.openoffice.org/fr/forum/forum24-programmation-macro-basic.html


.
0
Bonjour,

Merci pour le lien.

Pour "ne pas fonctionner", je crois qu'il y a quand même du détail dans mes posts au delà de cette phrase..., y compris un exemple de code qui ne s’exécute pas car erreur, les messages d'erreurs...
j'ai essayé avec un document totalement vide et seulement la macro ci dessus, j'ai toujours une erreur en tentant d’exécuter la macro.

je vais tenter ma chance sur le forum en lien.

Cordialement
0
OOoForum
Messages postés
3855
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
9 mai 2022
985 > Damien007
24 juin 2020 à 16:15
La macro fait référence à du contenu dans un document.
Sans fournir ce dernier, comment voulez-vous qu'on fasse ?
0
Damien007 > OOoForum
Messages postés
3855
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
9 mai 2022

24 juin 2020 à 16:33
Pardon j'ai peut-être oublié de préciser que j'ai aussi essayé suivant les conseils de pikaju de taper le code fournit page 80 dans un fichier vierge et cela ne fonctionne pas non plus (j'ai juste changé la page de 2 à 0 et le nom du fichier pour qu'il existe chez moi). en fait j'ai l'impression que peut importe le code, que c'est plutôt un problème d'extension, d'environnement...


public Sub test02

Dim MonDocument As Object
Dim UnePage As Object
Dim MonImage As Object
Dim LeBitmap As Object
Dim Taille1 As New com.sun.star.awt.Size
Dim Position1 As New com.sun.star.awt.Point
Dim Proportion As Double
MonDocument = ThisComponent
UnePage = MonDocument.drawPages(0) ' page de la troisième feuille Draw
MonImage = MonDocument.createInstance("com.sun.star.drawing.GraphicObjectShape")
MonImage.GraphicURL = ConvertToURL(" C:\temp\44.jpg ")
Position1.x = 2500 ' 25 mm à droite du coin haut-gauche de la page
Position1.y = 5300 ' 53 mm plus bas que le coin haut-gauche de la page
UnePage.add(MonImage)
LeBitmap = MonImage.GraphicObjectFillBitmap

end sub



dans ma macro du premier post, hormis le nom de la feuille, rien ne vient du fichier, j'ai tenté de créer une ellipse (en fait ce code vient aussi d'un ouvrage, pas de moi)

sinon je ne sais pas comment joindre un fichier à mon post. voici un lien de téléchargement pour mon fichier test
https://we.tl/t-5sUCOvfaLf
0
dubcek
Messages postés
18504
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 mai 2022
5 548
24 juin 2020 à 16:06
hello
vérifier Outils -> Options -> Libreoffice -> Sécurité -> Sécurité des macros
0
merci pour cette réponse, j'avais effectivement vérifié ça.
0