Numeracion automatica

23/12/2005 - 16:48 por Art | Informe spam
Hola a todos

Como puedo hacer que cada vez que abra el word, el documento (la plantilla
en este caso) sea numerada.
Me explico mejor, abro el word y el documento tenga el nombre 1234.doc, lo
cierro y cuando abro otra vez la nueva plantilla sea 1235.doc
gracias

Art
 

Leer las respuestas

#1 Marta PM [MVP Office]
24/12/2005 - 00:09 | Informe spam
Hola:
Mediante una macro lo puedes conseguir. Prueba la siguiente macro a ver si se ajusta
a tus necesidades (puede que se la macro se pueda optimizar, pues el VBA no es mi
fuerte, estoy aprendiendo).
Esta macro es una adaptación de esta macro de Pilar Mueckay [MVP-Office System]
http://pmueckay.mykb.com/Article_CC639.aspx.
Con esta macro cada vez que un documento se abre basado en esa plantilla se genera un
número en el archivo "numeracionplantilla.txt" (que por defecto he ubicado en la raiz
del disco C:\, puedes cambiarlo a tu gusto) y se guarda automáticamente con el nombre
correspondiente a esa numeración. También, por defecto he puesto que los documentos
gnerados se guarden en la raiz del disco C:\, cosa que puedes mmodificar.
Premisas:
1- Abre la plantilla que uses para crear el documento.
2- Inserta, en el encabezado o en el pie de página o donde desees un marcador que se
llame Numero. Para ello vas a Insertar / Marcador y allí escribes Numero y luego le
das a Añadir.
3- Abre el editor de VBA con ALT+F11 y "navega" por el panel de Proyectos hasta tu
plantilla. Una vez situado sobre ella ve al menú Insertar / Módulo.
4- Copia y pega el siguiente código:
Sub AutoNew()
Dim Pordefecto As String
Dim Rango As Range
Pordefecto = "1"
Numero = System.PrivateProfileString("C:umeracionplantilla.txt", _
"MacroSettings", "Numero")
If Numero = "" Then
Numero = 1
End If
Set Rango = ActiveDocument.Bookmarks("Numero").Range
Rango.Delete
Rango.Text = Numero
ActiveDocument.ActiveWindow.Caption = Rango.Text
Numero = Numero + 1
'Guarda el próximo número en el archivo numeracionplantilla.txt listo para su
próximo uso.
System.PrivateProfileString("C:umeracionplantilla.txt", "MacroSettings", _
"Numero") = Numero
'Regenera el marcador para su próximo uso.
With ActiveDocument.Bookmarks
.Add Name:="Numero", Range:=Rango
End With
'Aquí pones la ruta donde desees guardar los documentos generados
ChangeFileOpenDirectory "C:\"
ActiveDocument.SaveAs FileName:=Rango.Text
End Sub

Pruébala y comenta, por favor.
Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"Art" escribió en el mensaje
news:
Hola a todos

Como puedo hacer que cada vez que abra el word, el documento (la plantilla en este
caso) sea numerada.
Me explico mejor, abro el word y el documento tenga el nombre 1234.doc, lo cierro y
cuando abro otra vez la nueva plantilla sea 1235.doc
gracias

Art

Preguntas similares