Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Faites migrer vos Applications Microsoft-Office vers LibreOffice ou OpenOffice
25 janvier 2017

Traduction du Code Microsoft-VBA en LibreOffice-BASIC (ou OpenOffice)

On trouve souvent sur les Forums Internet la même question :

Existe-t-il des traducteurs automatiques du VBA vers le BASIC ???

Et la réponse est toujours : Non, c'est trop riche et trop complexe.

Où résident les difficultés ? (Un exemple)

Si vous écrivez en VBA deux instructions telles que celles-ci :

          Cells(ilig, icol) = 3.1416
          ou bien
          Cells(ilig, icol) = "Valeur de Pi :"

L'interpréteur saura compléter toutes les informations implicites au niveau du langage :
   - La référence aboslue de la cellule indiquée (Document actif, Feuille active)
   - La propriété modifiée de la cellule (par défaiut : Value)

En BASIC vous devrez tout spécifier :

          monDocument = ThisComponent
          maFeuille = monDocument.Sheets.getByName("Statistiques")
          ' Si "Statistiques" est le nom de la Feuille concernée
          maCellule = maFeuille.getCellByPosition(icol, ilig)
          ' BASIC a repris l'ordre habituel des coordonnées (X d'abord, Y ensuite)
          maCellule.Value = 3.1416
          ou bien
          maCellule.String = "Valeur de Pi :"

Notez que l'ont doit,en BASIC, utiliser l'une ou l'autre des deux propriétés "Value" ou "String" selon le type de la valeur affectée à la cellule.
Bien entendu, si plusieurs opérations doivent successuvement avoir lieu sur une même Feuille du Document courant, les variables "monDocument" et "maFeuille" auront pu être déclarées publiques et affectées à un niveau supérieur du Code.

Je vous propose une solutuon (partielle) :

Alors, comme j'aime bien les paris idiots, je m'en suis écrit un... de traducteur automatique. Il est très orienté "Excel" vers "Calc" et sans doute lié à ma façon de programmer. Actuellement il me traduit à peu près 50% du Code VBA.

Je serais très curieux de le mettre en oeuvre sur du Code écrit par quelqu'un d'autre.

Si vous avez des besoins dans ce domaine je vous propose mon aide, totalement bénévole pour mes premières expériences. (Voir rubrique "Contacter l'auteur" en tête de ce Blog, en marge droite... ça semble assez confidentiel, juste sous l'auto-portrait)

Voici une liste non exhaustive d'Applications
que j'ai traduites de Microsoft-Office vers LibreOffice :

- Un outil de sauvegarde

- Un explorateur d'arborescence de dossiers permettant de :
           * filter des listes
           * renommer des fichiers
           * trouver des doublons, des dossiers vides
           * comparer les contenus de deux dossiers
           * etc.

- Un puissant analyseur lexical destiné à pallier aux manques du compilateur BASIC (LibreOffice ou OpenOffice).
  Celui-ci, en effet, ne traite que les erreurs de syntaxe et ignore totalement :
        ° tout qui relève des fautes d'orthographe,
        ° utilisation de symboles non déclarés,
        ° etc.
  Cet analyseur ne laisse absolument rien passer et repère tout symbole (constante, variaible, function ou sub)
  déclaré et non utilisé et, inversement, utilisé sans avoir été déclaré.

- Un gestionnaire de Base de Données Musique avec JukeBox et Menu Graphique pour petits enfants

- Un gestionnaire de Base de Données Cinema avec Projectionniste et gestion de documentation

- Un constructeur de diaporamas

- Divers jeux (Test de connaissances géographiques, Memory, Puzzle, FreeCell avec solveur)

Publicité
Publicité
Commentaires
S
Bonjour;<br /> <br /> Je galère déjà depuis un moment avec un vba que je n’arive Pas à traduire pour du libre office il me marque erreur de syntaxe j’en suis débutant et j’aimerais de l’aide le tableau me sert pour un usage pro merci
Faites migrer vos Applications Microsoft-Office vers LibreOffice ou OpenOffice
Publicité
Faites migrer vos Applications Microsoft-Office vers LibreOffice ou OpenOffice
  • Conseils & aide pour la migration ou la traduction des Applications Excel-VBA vers LibreOffice-BASIC, des Applications crées sous Microsoft-Office vers LibreOffice ou OpenOffice. Que des avantages !!! Gain de simplicité de maintenance et de sécurité.
  • Accueil du blog
  • Créer un blog avec CanalBlog
Archives
Publicité