Macro para formas y WordArt

28/05/2008 - 15:13 por Goldberg00 | Informe spam
Hola a todos.
Tengo una hoja de Excel en la que incluyo diversos elementos gráficos.
Básicamente formas y WordArt.

Me gustaría hacer una macro para que, por ejemplo, los WordArt tuvieran
siempre el mismo aspecto. El caso es que he generado una pero el VBA siempre
me hace referencia a los tamaños fijos y al nombre del WordArt cuando la
creé. Es decir, que sólo lo aplica a un objeto llamado como el de la macro de
origen. Además, los tamaños no los cambia porcentualmente que es lo que me
interesa.

No tengo idea de tocar código. Os agradezco la ayuda por adelantado!

Saludos!!

G00
 

Leer las respuestas

#1 Goldberg00
05/06/2008 - 21:53 | Informe spam
Hola Héctor.

Antes de empezar dos cosas: gracias por tu respuesta y perdón por el retraso
en la mía.

Acerca de lo que me pedías. He creado la macro (a base de rudimentos de
acciones, sin VBA) del WordArt del que hablábamos.

Es ésta:




Sub WordArt_cambio()
'
' Macro grabada el 05/06/2008 por AS
'
ActiveWindow.Selection.Unselect
ActiveWindow.Selection.SlideRange.Shapes("WordArt 5").Select
ActiveWindow.Selection.ShapeRange.Line.Visible = msoFalse
With ActiveWindow.Selection.ShapeRange
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Fill.Transparency = 0#
.Fill.OneColorGradient msoGradientHorizontal, 1, 0.43
End With
With ActiveWindow.Selection.ShapeRange
.Line.ForeColor.SchemeColor = ppForeground
.Line.Visible = msoTrue
End With
With ActiveWindow.Selection.ShapeRange
.Shadow.ForeColor.SchemeColor = ppForeground
.Shadow.Visible = msoTrue
.ThreeD.Visible = msoFalse
End With
ActiveWindow.Selection.ShapeRange.Shadow.IncrementOffsetY -1#
ActiveWindow.Selection.ShapeRange.Shadow.IncrementOffsetX -1#
ActiveWindow.Selection.ShapeRange.Shadow.IncrementOffsetX -1#
With ActiveWindow.Selection.ShapeRange
.Line.Weight = 0.25
.Line.Visible = msoTrue
.Line.Style = msoLineSingle
End With
With ActiveWindow.Selection.ShapeRange
.TextEffect.FontName = "Arial"
.TextEffect.FontBold = msoTrue
End With
With ActiveWindow.Selection.ShapeRange
.Fill.Transparency = 0#
.Width = 406.12
End With
ActiveWindow.Selection.ShapeRange.TextEffect.Tracking = 0.9
With ActiveWindow.Selection.ShapeRange
.Line.ForeColor.RGB = RGB(221, 221, 221)
.Line.Visible = msoTrue
End With
ActivePresentation.ExtraColors.Add RGB(Red:"1, Green:"1, Blue:"1)
With ActiveWindow.Selection.ShapeRange
.Fill.Transparency = 0#
.Height = 48.5
End With
End Sub




Como verás, el objeto al que hace referencia es "Wordart 5" y no el que yo
quiera seleccionar. Si creo uno nuevo, que obviamente ya no llamará así, no
aplica la macro.

También me refería a los tamaños. He puesto un tamaño del 130% de ancho y un
decremento al 95% en el alto pero ha considerado las cifras absolutas y
claro, esto no me vale. El siguiente WordArt o cualquier otro objeto no tiene
por qué medir lo mismo que "WordArt 5" y por tanto las cifras absolutas no
son válidas.

Era a eso a lo que me refería. No sé si te hará falta algún dato más.
Básicamente es que me enseñes a cambiar cifras absolutas por valores
relativos y por otro lado a que la macro se pueda aplicar a cualquier objeto.

Gracias de nuevo y cordiales saludos!

Antonio



"Héctor Miguel" escribió:

hola, 'anonimo/a' !

__ 1 __
> Tengo una hoja de Excel en la que incluyo diversos elementos graficos. Basicamente formas y WordArt.
> Me gustaria hacer una macro para que, por ejemplo, los WordArt tuvieran siempre el mismo aspecto.

1) podrias definir (de preferencia +/- exactamente) a que te refieres con ".. siempre EL MISMO aspecto" ?
- (p.e.) que la forma sea SIEMPRE del mismo "tipo/figura/formato/..." ?

__ 2 __
> ... he generado una pero el VBA siempre me hace referencia a los tamanos fijos y al nombre del WordArt cuando la cree.
> ... que solo lo aplica a un objeto llamado como el de la macro de origen.

2) si transcribes el codigo, podria +/- "verse" cual es la intencion y/o las propiedades que te interesa modificar -???-
y tambien serviria si piensas aplicar este codigo (solo) al momento de crearlas, o tambien para modiricar otras ya creadas -???-

__ 3 __
> Ademas, los tamanos no los cambia porcentualmente que es lo que me interesa.

3) (nuevamente) es conveniente que detalles con mayor precision -???-

(disculpa, pero creo que existen dos o tres "lagunas" o ambiguedades en la descripcion "del caso") -?-

saludos,
hector.

Preguntas similares