Imprimir

Cómo numerar secuencialmente imágenes en un documento de Word

Escrito por monica on 28 Octubre 2007.

1
Compartir

En ocasiones quizás nos hayamos encontrado con un documento repleto de imágenes y necesitamos asignarles una numeración a las mismas de una forma rápida. Pues bien, Esta macro que os presentamos realiza la tarea por vosotros,

Nuestra macro identificará cada imagen que tengáis en vuestro documento y le asignará un nombre basado en un número que irá correlativo. Del mismo modo, si eliminamos una imagen, esto no afectará a la numeración ya que se volverán a renumerar todas de modo que siempre tengan un número secuencial y correlativo a la serie comenzada. La macro, al estar basada en campos precisará que se actualicen los mismos para poder trabajar correctamente. Acordaros siempre de actualizar mediante el atajo de teclado Ctrl + E para seleccionar todo el documento, y luego tecla F9.

Si ya tenemos todas las imágenes en un documento y queremos ponerles al pie una secuencia numérica utilizaremos el siguiente código,

 

 

 

 Sub Insertar_numeracion_Image()

 Dim x As Object
 For Each x In ActiveDocument.InlineShapes

 With x.Select

 With Selection
   .InsertAfter vbCr & "imagen Nº" _
     & vbCr
    .MoveDown Unit:=wdLine, Count:=1
    .TypeBackspace
    .Fields.Add Range:=Selection.Range, _
    Type:=wdFieldSequence, _
    Text:="AUTONUM \* Arabic", _
    PreserveFormatting:=True
    .TypeText Text:=" " & vbTab
    'Las siguientes lineas al gusto _
     se pueden suprimir o poner una u otra
    '.EndOf Unit:=wdStory o .HomeKey Unit:=wdStory


 End With
 End With


 Next

 End Sub

 

Si vamos a agregar imagenes a nuestro documento y queremos numerarlas una a una situandonos en el pie de la imagen por ejemplo, entonces  deberemos utilizar además esta macro >>

 

   Sub Insertar_field_Autonum() 


   With Selection
   .TypeText Text:=" imagen Nº" & vbCr
   .TypeBackspace
    .Fields.Add Range:=Selection.Range, _
    Type:=wdFieldSequence, _
    Text:="AUTONUM \* Arabic", _
    PreserveFormatting:=True
   End With

 End sub

 

La única precaución a tomar para ejecutar esta macro es poner el curso al pie de la imagen que queremos empezar a numerar, ya que de otro modo insertaría la numeración a partir de donde tengamos el cursor.

 

La macro funcionará si tenemos las imágenes en línea con el texto, pero no si son flotantes.

 
Si tuviéramos imágenes de este tipo, tendríamos que cambiar la siguiente línea correspondiente a la primera macro;

For Each x In ActiveDocument.InlineShapes

Por esta otra,

For Each x In ActiveDocument.Shapes

Y eso es todo, os recordamos que tenéis a vuestra disposición nuestros foros para cualquier duda que os pudiera surgir.

 

 

Compartir

Comentarios   

 
0 #3 Guest 12-11-2007 12:53
No me seas vago y accede a la url del articulo... en el rss sólo sale un resumen :roll::
http://www.fermu.com/content/view/552/1/lang,es/
Citar
 
 
0 #2 Guest 09-11-2007 11:08
:roll::
Seguro que estoy despistadillo. Me estoy leyendo esta fuente con el RSSbandit.
Dónde está la macro ?
Besitos
Citar
 
 
0 #1 Guest 06-11-2007 21:11
Está muy buena esta macro, la duda que tengo es por lo menos en mi caso, de cómo hacer esta macro? ya que no tengo conocimiento de hacerla o cómo insertarla? (si se puede? :-?

Gracias

PD es para Office 2007?
Citar
 

Escribir un comentario


Código de seguridad
Refescar

jTweet

Autentíficate

Gente Online

Hay 169 invitados y ningún miembro en línea