Plantillas: Como hacer que me guarde con un nombre autonumerable

04/09/2003 - 00:51 por Javier Avila | Informe spam
Quiero hacer que al guardar un documento creado en base a una plantilla
este adquiera un numero que vaya cambiando dependiendo del numero de
archivos que guarde y asi sucesivamente.

Javier Avila
System Adminsitrator

Zaphod Beeblebrox: Hey, Ford! How many escape capsules are there? Ford
Prefect: None. Zaphod Beeblebrox: You counted them? Ford Prefect: Twice.
 

Leer las respuestas

#1 Fernando Arroyo
04/09/2003 - 09:41 | Informe spam
Puedes crear una plantilla que tenga el siguiente código en su evento Workbook_Open:

Const strRuta As String = "C:\Prueba\" 'Directorio donde se almacenarán los libros

Private Sub Workbook_Open()
Dim fsB As FileSearch
Set fsB = Application.FileSearch

With fsB
.NewSearch
.LookIn = strRuta
.SearchSubFolders = False
.Filename = "doc*.xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
Me.SaveAs Filename:=strRuta & "doc" & Right("0000" & Mid(fsB.FoundFiles(fsB.FoundFiles.Count), Len(fsB.FoundFiles(fsB.FoundFiles.Count)) - 7, 4) + 1, 4)
Else
Me.SaveAs Filename:=strRuta & "doc0001", FileFormat:=xlWorkbookNormal
End If
End With
End Sub


Para que funcione tendrás que:
- crear un nuevo libro
- pegar el código en el módulo del libro (ThisWorkbook)
- guardar el libro como plantilla

Los libros basados en esta plantilla serán grabados automáticamente nada más ser creados, con el nombre "doc" seguido de un número de orden consecutivo, en el directorio C:Prueba.

Es seguro que tendrás que adaptar el código a lo que necesites, pero espero que te pueda servir como punto de partida.
Un saludo.


Fernando Arroyo
MS MVP - Excel



"Javier Avila" escribió en el mensaje news:
Quiero hacer que al guardar un documento creado en base a una plantilla
este adquiera un numero que vaya cambiando dependiendo del numero de
archivos que guarde y asi sucesivamente.

Javier Avila
System Adminsitrator

Zaphod Beeblebrox: Hey, Ford! How many escape capsules are there? Ford
Prefect: None. Zaphod Beeblebrox: You counted them? Ford Prefect: Twice.

Preguntas similares