Merci,
J'ai mis ArgsDoc(0).Value = 4 (cf Michel Tanguy)
et ça fonctionne très bien
Pour poursuivre sur la question subsidiaire, peut être qu'il existe une
formation sur le concept objet UNO ?
Bonne journée
Laurence
Le 11/01/2007 19:01, > Bernard Marcelly (par Internet, dépôt
[EMAIL PROTECTED]) a
écrit :
Bonjour BOTTIN Laurence - DGMT/SG/AG2
Message du 2007-01-11 15:01:
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 :
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.ALWAYS_EXECUTE_NO_WARN")
On n'y arrive pas comme ça. Bridge_getStruct sert à obtenir une
structure Uno, pas une constante.
A ma connaissance il n'y a pas de moyen d'obtenir une constante Uno à
partir de son nom (alors que c'est réalisable par CoreReflection pour un
enum).
Il suffit de mettre la valeur de la constante, qu'on trouve écrite dans
la description IDL du SDK, donc peu susceptible de changement.
Question subsidiaire :
Existe-t-il une bonne documentation en français sur l'API, l'abordant
par le côté objet sur le principe du developper's guide. L'anglais
n'est pas ma cup of tea et je découvre la programmation objet avec OOo.
Non. Même une bonne traduction du Developer's Guide serait assez
difficile à lire. Le concept objet Uno est un peu spécial, et l'héritage
multiple rend les choses assez complexes. Et l'aspect Java avec son
typage strict rend les codages API plutôt indigestes.
Il existe chez divers éditeurs des livres en français sur la
programmation/conception objet. Eventuellement on peut l'aborder via un
livre d'initiation sur Java. Cela a l'avantage de donner des éclairages
sur certains concepts rencontrés dans l'API et sa doc, qui sont
directement repris des principes de Java.
Bernard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]