I
IceBock
Bonjour, je travaille sur un projet pour créer des organigrammes Visio Ã
partir d'une base de données et d'une interface MS Access. Nous utilisons
Visio 2002 Standard et Ms Access XP.
Je ne parviens pas à utiliser des commandes vba pour utiliser la fonction
[organigramme - Modifier l'espacement]. La seule façon fonctionnelle que
j'ai trouvée d'utiliser ces fonctions est avec "sendkey" mais le résultat est
médiocre et instable.
J'ai essayé une alternative vba avec ce bout de code:
Public Sub set_espacement(ByRef pagObj As Object, ByRef shpObj As Object)
For Each pagObj In docObj.pages
Set shpsObj = pagObj.Shapes
For Each shpObj In pagObj.Shapes
If Not (shpObj.NameU Like "*Dynamic*") Then
shpObj.Cells("util.AL_cyBtwnSubs").Formula = "6 mm" 'Vertical
separation between standard subordinates
shpObj.Cells("util.AL_cyBelowParent").Formula = "6 mm" 'Vertical
separation below parent and above top-most standard subordinates
shpObj.Cells("util.AL_cxBtwnSubs").Formula = "6 mm" 'Horizontal
separation between standard subordinates
shpObj.Cells("util.AL_cxBtwnAssts").Formula = "6 mm" 'Horizontal
separation between assistants
End If
Next
Next
End Sub
'-------------------------------------------------------------------
Aucun erreur ne survient en faisant cela, les propriétés de formes sont
ajustées, mais l'espacement de l'organigramme ne change pas et lorsque je
vais dans la boite de dialogue [organigramme - Modifier l'espacement]
manuellement, les valeurs que j'ai envoyées sont absentes et non prisent en
compte.
Quelle serait donc la meilleure façon d'ajuster l'espacement de mon
organigramme ???
Toute aide sera apprécié.
partir d'une base de données et d'une interface MS Access. Nous utilisons
Visio 2002 Standard et Ms Access XP.
Je ne parviens pas à utiliser des commandes vba pour utiliser la fonction
[organigramme - Modifier l'espacement]. La seule façon fonctionnelle que
j'ai trouvée d'utiliser ces fonctions est avec "sendkey" mais le résultat est
médiocre et instable.
J'ai essayé une alternative vba avec ce bout de code:
Public Sub set_espacement(ByRef pagObj As Object, ByRef shpObj As Object)
For Each pagObj In docObj.pages
Set shpsObj = pagObj.Shapes
For Each shpObj In pagObj.Shapes
If Not (shpObj.NameU Like "*Dynamic*") Then
shpObj.Cells("util.AL_cyBtwnSubs").Formula = "6 mm" 'Vertical
separation between standard subordinates
shpObj.Cells("util.AL_cyBelowParent").Formula = "6 mm" 'Vertical
separation below parent and above top-most standard subordinates
shpObj.Cells("util.AL_cxBtwnSubs").Formula = "6 mm" 'Horizontal
separation between standard subordinates
shpObj.Cells("util.AL_cxBtwnAssts").Formula = "6 mm" 'Horizontal
separation between assistants
End If
Next
Next
End Sub
'-------------------------------------------------------------------
Aucun erreur ne survient en faisant cela, les propriétés de formes sont
ajustées, mais l'espacement de l'organigramme ne change pas et lorsque je
vais dans la boite de dialogue [organigramme - Modifier l'espacement]
manuellement, les valeurs que j'ai envoyées sont absentes et non prisent en
compte.
Quelle serait donc la meilleure façon d'ajuster l'espacement de mon
organigramme ???
Toute aide sera apprécié.