para esto cree un campo INLINE en el script que se llama Expression
LOAD * INLINE [
Expression '->nombre campo
Expresion1
Expresion2
Expresion3
];
y le aplique en las propiedades de documento->macros->Field Event Triggers cuando OnLoad y OnChange la siguiente macro TypeExpr
sub TypeExpr
'obtengo los campos que deseo ver
set val=ActiveDocument.Fields("Expression").GetSelectedValues
'instancio el grafico o tabla que deseo habilita o deshabilitar las expresiones
set chart = ActiveDocument.GetSheetObject("CH15")
set cp = chart.GetProperties
'reviso cuales expresiones estan seleccionadas
a1=0
a2=0
a3=0
for i=0 to val.Count-1
if a1=0 then
if val.Item(i).Text="Expresion1" then
a1=1
end if
end if
if a2=0 then
if val.Item(i).Text="Expresion3" then
a2=1
end if
end if
if a3=0 then
if val.Item(i).Text="Expresion2" then
a3=1
end if
end if
next
'si la expresion1 esta seleccionada
if a1=1 then
set expr0 = cp.Expressions.Item(0).Item(0).Data.ExpressionData
expr0.Enable = true
else
set expr0 = cp.Expressions.Item(0).Item(0).Data.ExpressionData
expr0.Enable = false
end if
'si la expresion2 esta seleccionada
if a2=1 then
set expr1 = cp.Expressions.Item(1).Item(0).Data.ExpressionData
expr1.Enable = true
else
set expr1 = cp.Expressions.Item(1).Item(0).Data.ExpressionData
expr1.Enable = false
end if
'si la expresion3 esta seleccionada
if a3=1 then
set expr2 = cp.Expressions.Item(2).Item(0).Data.ExpressionData
expr2.Enable = true
else
set expr2 = cp.Expressions.Item(2).Item(0).Data.ExpressionData
expr2.Enable = false
end if
'habilito o deshabilito las expresiones seleccionada
chart.SetProperties cp
end sub
No hay comentarios.:
Publicar un comentario