1 message in org.openoffice.fr.progRe: [prog] RE : [prog] VBA : créer un...
FromSent OnAttachments
BOTTIN Laurence - DGMT/SG/AG2Jan 12, 2007 1:02 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] RE : [prog] VBA : créer un nouveau classeur executant les macros à partir d'un modèleActions...
From:BOTTIN Laurence - DGMT/SG/AG2 (laur@equipement.gouv.fr)
Date:Jan 12, 2007 1:02:18 am
List:org.openoffice.fr.prog

Bonjour, C'est exactement ce que je veux faire et ça fonctionne très bien

Merci

Le 11/01/2007 18:51, > michel tanguy (par Internet, dépôt prog-return-5361-laurence.bottin=equi@fr.openoffice.org) a écrit :

bonsoir

je ne suis pas sur d'avoir bien compris ta question mais si tu pilotes OOo depuis VB ou VBA tu peux faire un essai en remplaçant

com.sun.star.Document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN

par sa valeur:

4 (il me semble)

Set ArgsDoc(0) = ServiceManager.Bridge_getStruct("com.sun.star.beans.PropertyValue") ArgsDoc(0).Name = "MacroExecutionMode" ArgsDoc(0).Value = 4

bonne soirée michel

<Bonjour, <Dans OOo si j'ouvre un nouveau classeur à partir d'un modèle, les macros <s'exécutent dans le nouveau classeur. <Par contre si à partir d'une application MS Office et de VB je créé un <nouveau classeur à partir d'un modèle, les macros ne sont pas actives. <Le problème vient de la ligne ArgsDoc(0).Value mais je ne sais pas du <tout comment utiliser une contante de l'API depuis vba.

<Voici un extrait du code :

<'ArgsDoc() tableau des propriétés d'ouvertures <'pour que les macros s'exécutent dans le classeur créé à partir du modèle Dim ArgsDoc(0) As Object ' Création service OpenOffice Set <ServiceManager = CreateObject("com.sun.star.ServiceManager") <Set Desktop =ServiceManager.createInstance("com.sun.star.frame.Desktop")

<Set ArgsDoc(0) = <ServiceManager.Bridge_getStruct("com.sun.star.beans.PropertyValue") <ArgsDoc(0).Name = "MacroExecutionMode" <ArgsDoc(0).Value = <ServiceManager.Bridge_getStruct("com.sun.star.Document.MacroExecMode.AL WAYS_EXECUTE_NO_WARN")

<'création d'un nouveau classeur à partir d'un modèle <adresseDoc = F_ConvertToURL(lstrNomModeleCalc) <Set monClasseur = Desktop.loadComponentFromURL(adresseDoc, "_blank", 0,

<Args())