[Résolu][JavaScript] Utilisation LibreOffice Base (Ubuntu)

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

[Résolu][JavaScript] Utilisation LibreOffice Base (Ubuntu)

Message par Cage_fish »

Bonjour à tous et à toutes

J'aimerai faire des macros en javascript
j'ai plusieurs fois regardé le forum qui indique la procédure suivante
Outils -> Marco -> Gérer les Macros -> Javascript

Or, j'ai uniquement que
Outils -> Marco -> Gérer les Macros -> Libre Office Base...

Sauf erreur, rien ne me permet de choisir Javascript

J'ai pensé qu'il y avait un problème avec java, j'ai donc fait une mise à jour mais rien n'y a fait

Merci à vous de toutes l'aides que vos serez en mesure de m'apporter :wink:

La modération vous a écrit: Titre modifié pour plus de clarté
Il s'agit de penser à ceux qui chercheront sur ce même problème.
Ils risquent de ne pas s'arrêter sur ce fil car il ne reflète pas la problématique exposée.
C'est donc dans un souci de qualité afin d'avoir des titres clair et explicite.
Nous l'avons donc fait à votre place mais la prochaine fois, veuillez le faire par vous-même.

Dernière modification par Cage_fish le 03 nov. 2015 09:42, modifié 6 fois.
LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17195
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Basic] choisir Javascript pour faire des macros

Message par jeanmimi »

Bonjour,
Avec ma configuration, quelques exemples de codes en JavaScript sont proposés.
Macros JavaScript dans LO.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.1.1 (x64)(26 septembre 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: [Basic] choisir Javascript pour faire des macros

Message par bm92 »

Bonjour,
Le titre de ce fil a écrit :[Basic] choisir Javascript pour faire des macros
Donc ce n'est pas du Basic. Alors tu devrais éditer le titre du premier message pour y mettre [JavaScript].

La gestion des scripts BeanShell ou JavaScript doit être demandée à l'installation de LibreOffice, ou par la modification de l'installation.
Installation personnalisée
Composants optionnels > Extension > Fournisseur de script pour JavaScript
Ecran003.png
Remarques:
- L'utilisation de l'API OpenOffice est bien plus difficile que depuis Basic.
- Bien qu'ayant je pense une configuration correcte, je ne peux ni exécuter ni visualiser un des scripts JavaScript ou BeanShell de LibreOffice 4.4.5. Il y a plusieurs rapports qui seraient corrigés sur les version 5.x.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12727
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Basic] choisir Javascript pour faire des macros

Message par Bidouille »

Bonjour,

Et clôturer ses anciens fils, c'est aussi une bonne chose : http://forum.openoffice.org/fr/forum/vi ... hp?t=18488
Cage_fish a écrit :Je suis sous Ubuntu 14.04.3 64bits
Libre Office 4.2.8.2
Cette information doit figurer dans votre signature.

Merci de donner suite.
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

Re: [Javascript] choisir Javascript pour faire des macros

Message par Cage_fish »

Bonjour à tous et merci pour vos réponses

@Bidouille
Je viens de mettre mes anciens sujets en résolu et mit la petite croix verte

@Bin92
Le problème est que je suis sur Ubuntu, je ne sais pas pas comment retourner dans ce programme pour faire les manipulations
Lorsque j'étais sous Windows, je faisais, "supprimer le programme" et là je pouvais faire les modifications, ici je ne sais pas
Si je comprend pas, je vais devoir apprendre le basic de ooo et donc m'acheter le manuel à 40 € ?
N'y connaissant rien, j'ai besoin d'un apprentissage pas à pas, une sorte de prise en mains mais ce genre de chose est mal vue sur certains forum car c’est considéré comme demander à quelqu'un de faire son script

@jeanmimi
Je n'en ai pas, j'ai déjà regardé
pas de sections javascript

@moderation
J'étais en train de m'en occuper
Ce pendant, je n'ai pas pensé à ce titre, au début c'était l'utilisation de javascript pour faire des macros dans libre office avec l'impossibilité pour moi de trouver le lien
La modération vous a écrit: "faire des macros" est forcément implicite dans la section "Macros" non ?
Donc il est inutile de le mentionner.
Merci aussi de corriger votre signature comme demandé plus haut.

LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26064
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [JavaScript] Utilisation sous LibreOffice Base

Message par Dude »

Salut,
Cage_fish a écrit :J'aimerai faire des macros en javascript
Au-delà du besoin de découverte, quelle est l'utilité d'utiliser ce langage ?
Basic est certainement le plus facile quant à la programmation formulaire - données.

Pour t'en convaincre, regarde l'exemple donné pour un simple affichage d'un "Hello World" dans Writer.
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

Re: [JavaScript] Utilisation sous LibreOffice Base

Message par Cage_fish »

Dude a écrit :Salut,

Au-delà du besoin de découverte, quelle est l'utilité d'utiliser ce langage ?
Basic est certainement le plus facile quant à la programmation formulaire - données.
Sans doute, mais pour le moment j'utilise et j’apprends le JavaScript mais il est clair que je vais aussi apprendre le Basic
Pour le moment, je n'ai pas trop le temps d'aller chercher toutes les fonctions, variables, syntaxe dont j'ai besoin pour créer mon script en Basic
De plus, comme dit plus haut, j'aurai besoin de quelque chose ou quelqu'un qui m'apprenne par construction, en faisant certains scripts à ma place par exemple et en m’expliquant ce qu'il a fait, mais c'est vue comme faire le travail pour quelqu'un sur ce forum pourtant c'est une bonne manière d'apprendre. C'est comme ça que j'ai apprit des commandes en Shell sur le forum d'Ubuntu et que je fais des scripts Shell
Mais je m'y mettrai.

Si, non, j'ai résolu mon problème grâce au forum d'Ubuntu
Dans la version 14-04 d'Ubuntu, la version de LibreOffice installé est le 4.2.8.2.
Dans cette version, jevascript n'est pas installé par défaut.
Il faut aller chercher le paquet libreoffice-script-provider-js dans la Logithèque ou faire la commande

Code : Tout sélectionner

sudo apt-get install libreoffice-script-provider-js
Dude a écrit :Pour t'en convaincre, regarde l'exemple donné pour un simple affichage d'un "Hello World" dans Writer.
Je ne l'ai pas trouvé
soit je l'ai supprimé par mégarde, soit il n'est pas installé ou il est installé sous un autre nom


Merci à tous et à toutes de vos réponse.
PS :
La modération à écrit
La modération vous a écrit: Merci aussi de corriger votre signature comme demandé plus haut.

Est-ce que ma signature est correct ?
Dernière modification par Cage_fish le 03 nov. 2015 09:57, modifié 1 fois.
LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26064
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [JavaScript] Utilisation sous LibreOffice Base

Message par Dude »

Cage_fish a écrit :De plus, comme dit plus haut, j'aurai besoin de quelque chose ou quelqu'un qui m'apprenne par construction, en faisant certains scripts à ma place
Ta phrase montre que tu n'as pas regardé l'exemple du script helloword.js :?
Commence par étudier l'existant et reviens avec des questions précises sur ce que tu cherches à faire.

Cage_fish a écrit :Est-ce que ma signature est correct ?
A ton avis ?
OpenOffice.org (Version officielle) Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
al1pb
Membre OOrganisé
Membre OOrganisé
Messages : 50
Inscription : 07 mars 2011 16:29
Localisation : Jura, Suisse

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par al1pb »

Bonjour,
Il y a 2 ans, j'ai fais la même démarche que toi, tu peux aller voir les traces dur le forum : https://forum.openoffice.org/fr/forum/v ... =8&t=41270
Je te le déconseille pour les raisons suivantes:
- Tu dois pour chaque utilisation de l'API précharges les objets que tu utilise. Ca complique fortement la programation.
- Il y a très peu de documentation.
- Peu de monde peut t'aider.

Si l'apprentissage du Basic te fait peur, ne craint rien, tous les langages de programmation ont un fonctionnement commun, une boucle reste une boucle, un if aussi... Le plus compliqué est de prendre en main l'API, mais ce forum est là pour t'aider (il m'a beaucoup aidé). Regarde des scriptes déjà fait et cherche à les comprendre.
Encore un conseil, utilise Xray pour t'y retrouver dans l'API.
Bon courage, si tu as besoin d'aide, je veux bien t'en donner.
LibreOffice 6.2.8.2 sous Windows 10
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par Cage_fish »

Bonjour,

Merci pour ton conseil

Le problème étant que je ne retrouve pas le "helloword" dans basic.
J'ai peur de l'avoir supprimé par erreur en voulant le retirer de la liste des modules présents en bas de la boite de dialogue standard (là ou l'on voie le contenue des script)
j'ai cliqué pour quelques-uns sur "supprimer" en pensant qu'il sortirait simplement de la liste des modules ouverts, mais il me semble qu'au lieu de ça, je les ai supprimé complètement
Étant sur Ubuntu et non sur Windows, la manipulation pour les réinstaller est différente de celle proposé par bm92
LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
al1pb
Membre OOrganisé
Membre OOrganisé
Messages : 50
Inscription : 07 mars 2011 16:29
Localisation : Jura, Suisse

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par al1pb »

Bonjour,
Si tu veux voir le HelloWorld.js, le voilà:

Code : Tout sélectionner

// Hello World in JavaScript
importClass(Packages.com.sun.star.uno.UnoRuntime);
importClass(Packages.com.sun.star.text.XTextDocument);
importClass(Packages.com.sun.star.text.XText);
importClass(Packages.com.sun.star.text.XTextRange);

oDoc = XSCRIPTCONTEXT.getDocument();
xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc);
xText = xTextDoc.getText();
xTCursor = xText.createTextCursor();
xTCursor.gotoEnd(false);
xText.insertString( xTCursor, "JavaScript vous salue ! " , false);
xText.insertControlCharacter(xTCursor, Packages.com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false);
Sinon, en Basic, ça donne :

Code : Tout sélectionner

Sub BonjourBasic
Dim monDocument As Object, monTexte As Object, monCurseur As Object
monDocument = ThisComponent
monTexte = monDocument.Text
monCurseur = monTexte.createTextCursor
monCurseur.gotoEnd(false)
monTexte.insertString(monCurseur, "Basic et l'API vous saluent !", false)
monTexte.insertControlCharacter(monCurseur, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
End Sub
Bon, ça prêt compliqué, mais une foi qu'on a mis les mains dedans, ça l'est nettement moins.
Je te recommande la lecture du livre Programmation OpenOffice.org et LibreOffice
LibreOffice 6.2.8.2 sous Windows 10
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par Cage_fish »

Je crois l'avoir en partie décodé

définir le nom de a macro

Code : Tout sélectionner

Sub BonjourBasic
Création de 3 variables comme des variables Object (objets)

Code : Tout sélectionner

Dim monDocument As Object, monTexte As Object, monCurseur As Object
Définition de ces trois variables

Code : Tout sélectionner

monDocument = ThisComponent  #La variable monDocument correspond au document auquel je suis en train d'écrire
monTexte = monDocument.Text #La variable monTexte correspond au texte qui sera écrit sur le document
monCurseur = monTexte.createTextCursor #La variable monCurseur correspond à la position du curseur sur mon document 
ça je ne sais pas

Code : Tout sélectionner

monCurseur.gotoEnd(false)
Insertion de "Basic et l'API vous saluent !" dans mon document à la position du curseur, bien que je comprend pas le "false"

Code : Tout sélectionner

monTexte.insertString(monCurseur, "Basic et l'API vous saluent !", false)
Là c'est un mystère.. sans doute la déclaration de fin de paragraphe

Code : Tout sélectionner

monTexte.insertControlCharacter(monCurseur, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
Fin du code

Code : Tout sélectionner

End Sub
J'ai tout bon ? :wink:
LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
al1pb
Membre OOrganisé
Membre OOrganisé
Messages : 50
Inscription : 07 mars 2011 16:29
Localisation : Jura, Suisse

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par al1pb »

Bonjour,
C'est à peu près ça, voilà les corrections:
Sub est une déclaration de procédure (fonction sans valeur de retour)
La variable Text contient un objet de l'API et non une chaine de caractère String.
La méthode gotoEnd(false) place le curseur à la fin de l'objet Text.
Pour la méthode insertString il faut respecter l'appel de cette fonction avec ces paramètres.
Oui, c'est un ajout de fin de paragraphe.

En fait ce code te montre que sans connaitre les bases de l'API tu ne peux pas faire grand chose, et que c'est plus compliqué est de maîtriser l'API que de maîtriser le langage Basic. N'oublie pas l'outil XRay qui est d'une aide précieuse pour s'y retrouver dans cette API parfois compliquée.

Bon courage.
LibreOffice 6.2.8.2 sous Windows 10
Cage_fish
NOOuvel adepte
NOOuvel adepte
Messages : 13
Inscription : 20 sept. 2009 19:24

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par Cage_fish »

d'où, il faut que j'achète le livre et que je l'étudie pas à pas
j'ai également trouvé des liens intéressant sur ce forum
mon projet va attendre un petit peu :wink:
Merci pour ton aide :super:
LibreOffice Version 4.2.8.2 sous Ubuntu 14-04.3 LTS 64bits
al1pb
Membre OOrganisé
Membre OOrganisé
Messages : 50
Inscription : 07 mars 2011 16:29
Localisation : Jura, Suisse

Re: [Résolu][JavaScript] Utilisation LibreOffice Base (Ubunt

Message par al1pb »

Re,
Oui, la lecture du livre est le plus rapide pour atteindre un bon niveau, mais ce n'est pas obligatoire, il y a pas mal de tutos en ligne, et tout dépend de ce que tu veux faire exactement par macro. Moi, j'ai créé un modèle de devis avec transformation en facture que j'ai amélioré grâce à la lecture du livre.
Bon apprentissage.
LibreOffice 6.2.8.2 sous Windows 10