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.ALWAYS_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())

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.

Merci

Laurence

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à