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

VB 6 et antérieur Discussion :

[VB6][open office] lancer une macro


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [VB6][open office] lancer une macro
    bonjour a tous
    je recherche a lancer une macro open office dans mon code vb6. si vous aviez des informations,exemple et/ou explication cela m aiderai bien
    merci par avance

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Tu dois faire une référence à OpenOffice dans ton projet (Projet > Références) et une variable du même type qu'un document OpenOffice dans ton code pour référer à ton document.

    Malheureusement, je ne connais pas les objets de OpenOffice. Faudra que tu trouves la documentation. Cherche dans l'aide de VBA de OpenOffice. Je n'ai enregistré une macro qu'une seule fois pour jeter un coup d'oeil sur le code... je n'ai rien reconnu! Mais c'était juste un coup d'oeil rapide.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour Tipiak03 , bonjour Zazaraignée

    il n'existe pas de bibliotheque VB pour piloter Open Office . Tu devras utiliser les API d'Open Office pour agir sur les documents OOo depuis VB

    en fonction des opérations à effectuer , tu pourrais peut etre écrire la macro directement dans VB

    http://www.developpez.net/forums/vie...ht=open+office


    bon apres midi
    michel

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'eut été trop beau!

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut ce que j ai trouve
    re
    voici ce que j ai trouver mais la macro ne s execute pas

    Call dispatcher.executeDispatch(Frame, ".macro:///Standard.Module1.Main", "", 0, args())
    dispatcher et frame sont des objects
    merci de votre aide

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    rebonjour

    cette procédure testée en VB6 & VBA(Excel2002) permet de déclencher la macro d'un document Open Office ouvert, nommé "Sans nom1" . la macro open Office est nommée "nomMacroOOo" et située dans le "Module1"


    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
    Private Sub Command1_Click()
    'MichelXld le 17.02.2006
    'http://<a href="http://www.developpez.net/forums/viewtopic.php?p=2616191#2616191" target="_blank">http://www.developpez.net/forums/vie...616191#2616191</a>
    '
    Dim oServiceManager As Object, oURL As Object
    Dim oTrans As Object
    Dim Desktop As Object, Args(0) As Object, oDisp As Object
     
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    Set oURL = oServiceManager.Bridge_getStruct("com.sun.star.util.URL")
    oURL.Complete = "macro://Sans nom1/Standard.Module1.nomMacroOOo"
     
    Set oTrans = oServiceManager.createInstance("com.sun.star.util.URLTransformer")
    oTrans.parseStrict oURL
     
    Set Args(0) = oServiceManager.Bridge_getStruct("com.sun.star.beans.PropertyValue")
    Set Desktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
    Set oDisp = Desktop.queryDispatch(oURL, "_self", 0)
    oDisp.Dispatch oURL, Args()
     
    Set oDisp = Nothing
    Set Desktop = Nothing
    Set oTrans = Nothing
    Set oURL = Nothing
    Set oServiceManager = Nothing
    End Sub

    si ton document Open Office est deja sauvegardé sur le disque , tu peux utiliser ce type de synthaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oURL.Complete = "macro://OOoClasseurTest/Standard.Module1.Main"
    il ne faut pas préciser le type de document ( .ods ,.odt ...)


    Attention : la procédure est sensible aux majuscules et aux minuscules

    bon apres midi
    michel

  7. #7
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par tipiak03
    merci pour votre aide cela m a ete tres utile
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour SilkyRoad,
    Ton code ne marche pas. Quand j'execute ton code sous VB6 ça me fait rien du tout. Moi j'utilise OpenOffice2.0.
    Ton code ne donne pas des erreurs et même temps ça n'execute pas la macro aussi.
    Tester un autre fois ton program et dit moi quelle est le problème.

    Merci d'avance

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    chez moi cela fonctionne tres bien : testé avec OOo2.0.1 et VB6 .

    as tu suivi les indications du message ( respect de la casse...)

    ta macro open office est dans un document specifique ou dans la bibliotheque "Mes macros" ?

    si la macro est stockée dans "Mes macros" tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oURL.Complete = "macro:///Standard.Module1.Main"


    bonne soiree
    michel

Discussions similaires

  1. Lancer une Macro Excel depuis VB6
    Par pilote301152 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/12/2011, 17h43
  2. lancer une macro excel en vb6
    Par patou60110 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 26/11/2007, 07h07
  3. Lancer une macro PPT à partir d'Excel
    Par Rabah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/10/2005, 17h23
  4. lancer une macro Access
    Par xmarabout dans le forum ASP
    Réponses: 1
    Dernier message: 26/09/2005, 13h03
  5. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15

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