IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

compatibilité des macros open office- libre office


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut compatibilité des macros open office- libre office
    Bonjour,

    J'utilise depuis déjà pas mal de temps Open Office et j'envisage de migrer vers Libre Office.
    Les 2 suites utilisant les mêmes extensions ODS je pensais que ce serait direct mais
    Je rencontre un problème de compatibilité de mes macros:

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    sub Main
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
     
    rem ----------------------------------------------------------------------
    dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "ToPoint"
    args1(0).Value = "$A$1"
     
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
     
    rem ----------------------------------------------------------------------
    dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
     
    rem ----------------------------------------------------------------------
    dim args3(0) as new com.sun.star.beans.PropertyValue
    args3(0).Name = "ToPoint"
    args3(0).Value = "$D$1"
     
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
     
    rem ----------------------------------------------------------------------
    dim args4(5) as new com.sun.star.beans.PropertyValue
    args4(0).Name = "Flags"
    args4(0).Value = "SVD"
    args4(1).Name = "FormulaCommand"
    args4(1).Value = 1
    args4(2).Name = "SkipEmptyCells"
    args4(2).Value = false
    args4(3).Name = "Transpose"
    args4(3).Value = false
    args4(4).Name = "AsLink"
    args4(4).Value = false
    args4(5).Name = "MoveMode"
    args4(5).Value = 4
     
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4())
     
     
    end sub
    Le code ci dessus réalisé sous Open Office réalise un simple collage spéciale avec addition.

    Le même code sous Libre Office insère une nouvelle colonne et colle le contenu dans cette nouvelle colonne.
    Il semble que pour obtenir le même résultat que sous Open Office il faille modifier la valeur de l'argument MoveMode" pour le passer de 4 à 6...La macro ne fonctionnera alors plus sous Open Office !

    Il semble donc que pour réaliser cette migration je soit obligé de revoir toutes mes macro !!!

    Existe t'il quelque part un descriptif des instructions de ce "langage de programmation macro" et des arguments qui correspondent ou sommes nous obligé de bidouiller avec l'enregistreur de macro ?

    Existe t'il une manière automatique de convertir les macros Open Office en macro Libre Office ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bon je vois que mon sujet ne passionne pas les foules !!

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Depuis la version 4, des différentes sont apparues entre OpenOffice et LibreOffice. Mais il n'existe aucune information sur les commandes qui fonctionnent ou pas avec l'une ou l'autre des suites.

    Cdlt.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  4. #4
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    c'est pas tres cool !

  5. #5
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Citation Envoyé par zoom61 Voir le message
    Mais il n'existe aucune information sur les commandes qui fonctionnent ou pas avec l'une ou l'autre des suites.
    Bien sûr que si : https://forum.openoffice.org/fr/foru...breoffice.html
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par Bidouille Voir le message
    Il y a d'autres commandes qui ne sont pas citées dans la liste et qui ne fonctionnent pas dans LibreOffice ou OpenOffice, et elles sont souvent utilisées dans des extensions, ce qui rend ces extensions inutilisables dans l'une ou l'autre des applications.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,

    jmlat a dit :
    Le même code sous Libre Office insère une nouvelle colonne et colle le contenu dans cette nouvelle colonne.
    Le problème c'est que tu ne nous as pas dit avec quelle version de LibreOffice et sous quel O.S .

    Moi en version LibreOffice 4.4.1.2 sous windows 7, je n'ai pas pas le problème : avec un MoveMode à 4 , j'ai le fonctionnement nominal (je n'ai pas de nouvelle colonne).

    Voir d'ailleurs un exemple ici

    Edit : Bon je suis allé fouiner dans les sources de Libreoffice et voici ce que j'ai trouvé en ce qui concerne MoveMode :
    MoveMode correspond à une énumération (InsCellCmd) qui se trouve dans le fichier sc\inc\global.hxx

    pour la version 4.4.1.2 de Libreoffice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    enum InsCellCmd
        {
            INS_CELLSDOWN,
            INS_CELLSRIGHT,
            INS_INSROWS,
            INS_INSCOLS,
            INS_NONE
        };
    et pour la version 5.1.1.1 de LibreOffice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    enum InsCellCmd
        {
            INS_CELLSDOWN,
            INS_CELLSRIGHT,
            INS_INSROWS_BEFORE,
            INS_INSROWS_AFTER,
            INS_INSCOLS_BEFORE,
            INS_INSCOLS_AFTER,
            INS_NONE
        };
    Comme on peut le constater c'est la valeur 4 qui fait un INS_NONE (pas de décalage) dans le cas de la version 4.4.1.2 et la valeur 6 dans le cas de la version 5.1.1.1.
    Avec la valeur 4 on a INS_INSCOLS_BEFORE dans le cas de LibreOffice 5.1.1.1
    C'est quand même dommage que LibreOffice n'ait pas conservé la compatibilité

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  8. #8
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    En effet je viens de le telecharger j'ai donc la version 5...

    En effet pourquoi ce changement qui brise la compatibilité ?

    Je constate surtout que ces suites ne sont pas stables dans le temps concernant les macros en tout cas et que les changement de version ne prennent pas en compte les macros pour assurer leur fonctionnement .
    Si je comprend bien lorsqu'on utilise des macros il ne faut surtout pas faire de mise à jour !!!

    De plus il est très difficile de trouver les détails de chaque instruction.

    En tout cas cas merci à "jurassic pork" pour ces éclaircissement.

    Je redoute qu'il y ai d'autre modifications que je ne vois pas aussi facilement et qui perturbe le fonctionnement de mes feuilles de calcul ...je pense donc que je vais rester sur Open Office !

Discussions similaires

  1. Est-il possible de faire un userForms dans open ou libre office ?
    Par candide02 dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 07/09/2014, 19h27
  2. [XL-2003] Migration vers office 2010 - Compatibilité des macros - Bis
    Par Shadock78 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/07/2011, 12h14
  3. [XL-2007] Migration vers office 2010 - Compatibilité des macros
    Par Shadock78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/06/2011, 11h14
  4. [E97] et [E2003] Compatibilité des macros
    Par ouisansdoute dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/11/2008, 10h29
  5. compatibilite des macros sous differentes version d'excel
    Par emillio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2008, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo