Hice una lista numerada en Word 2010. Cada entrada de la lista también tiene una imagen. Quiero alinear al centro todas las imágenes, pero cuando intento alinear al centro una imagen, el texto de arriba también se centra.
¿Cómo puedo centrar y alinear imágenes en la lista sin centrar el texto de arriba y de abajo?
Respuesta1
Bien, esto es lo que debes hacer:
- Haga clic derecho en la imagen y seleccione 'Tamaño y posición...'
- Seleccione la pestaña 'Ajuste de texto'
- Seleccione 'Arriba y Abajo'
- Seleccione la pestaña 'Posición'
- En la sección "Horizontal", seleccione "Alineación" y luego seleccione "Centrado" en relación con "Columna".
Desafortunadamente, hacer esto con varias imágenes es problemático. El pintor de formato no funcionará. Además, el simple hecho de usar Macro Recorder causa problemas al intentar seleccionar la imagen.
Por lo tanto, crear una macro VBA y vincularla a una clave parecería ser la única manera de hacer esto súper eficiente. Aquí hay dos publicaciones útiles a este respecto:
- https://groups.google.com/forum/?fromgroups=#!topic/microsoft.public.word.vba.general/j4ZaBiOYKDU
- https://stackoverflow.com/questions/9809475/insert-resize-and-relocate-image-using-a-microsoft-word-macro
A partir de la primera de estas referencias, probé la siguiente macro de VBA. ¡Parece funcionar bien!
Sub FormatMyPicture()
Dim myShape As Shape
If Selection.InlineShapes.Count > 0 Then
Set myShape = Selection.InlineShapes(1).ConvertToShape
ElseIf Selection.ShapeRange.Count > 0 Then
Set myShape = Selection.ShapeRange(1)
Else
MsgBox "Please select a picture first."
Exit Sub
End If
With myShape
.WrapFormat.Type = wdWrapTopBottom
.WrapFormat.DistanceTop = InchesToPoints(0.2)
.WrapFormat.DistanceBottom = InchesToPoints(0.2)
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
End With
End Sub
Respuesta2
Para alinear y centrar todas las imágenes en línea en MS Word:
Paso 1: Presione Alt+ F11para abrir el Editor VBA
Paso 2: Ir aInsert
entoncesModule
Paso 3: En el editor VBA, escriba el siguiente fragmento de código
Sub centerPictures()
Dim shpIn As InlineShape, shp As Shape
For Each shpIn In ActiveDocument.InlineShapes
shpIn.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shpIn
For Each shp In ActiveDocument.Shapes
shp.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shp
End Sub
Paso 4: Presione F5o presioneRun Sub
para aplicar este cambio
Respuesta3
Espero que esto ayude a alguien especial.
Sub rezize_center_newline()
Dim i As Long
Dim shpIn As InlineShape, shp As Shape
With ActiveDocument
For i = 1 To .InlineShapes.Count
With .InlineShapes(i)
.Height = InchesToPoints(4)
.Width = InchesToPoints(5.32)
.Range.InsertAfter Chr(13)
End With
Next i
For Each shpIn In ActiveDocument.InlineShapes
shpIn.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shpIn
For Each shp In ActiveDocument.Shapes
shp.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shp
End With
End Sub