Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Guardar archivos con fecha como nombre

Estas en el tema de Guardar archivos con fecha como nombre en el foro de Visual Basic clásico en Foros del Web. Hola es mi primer post en este foro, que leo mucho y considero de gran ayuda, estoy haciendo una aplicación en VB6 del cual estoy ...
  #1 (permalink)  
Antiguo 19/05/2009, 14:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Guardar archivos con fecha como nombre

Hola es mi primer post en este foro, que leo mucho y considero de gran ayuda, estoy haciendo una aplicación en VB6 del cual estoy lejos de ser un experto, mi problema es el siguiente, tengo un formulario donde al hacer click en un boton, este crea un archivo en Excel con la fecha actual como nombre y lo guarda en c:\, esto se hace una vez al día pero cada vez que se haga se tiene que generar un nuevo archivo .xls y guardarse en c:\ sin borrar el anterior que por supuesto tendrá una fecha diferente, trato de hacer esto con lo siguiente:
Primer intento:

Private Sub Command1_Click()
Dim nombre, As String
On Error GoTo fallo
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet

Set xlApp = New Excel.Application
Set xlWB = xlApp.Workbooks.Add
Set xlWS = xlWB.Worksheets.Add
nombre = fechaAcadena(Date) 'primero convierto la fecha en cadena

xlWS.SaveAs "c:\" & “nombre” & ".xls" 'aquí intento guardar el .xls con la fecha por 'nombre pero no lo hace lo guarda con “nombre”
'-----------------------------------------------------------------------------------------------------------------------

'xlWS.SaveAs "c:\" & nombre & ".xls"
xlApp.Quit
Set xlWS = Nothing
Set xlWB = Nothing
Set xlApp = Nothing
MsgBox ("Archivo creado en C:\"), vbInformation
Exit Sub
fallo:
MsgBox ("No se creo el archivo"), vbInformation
End Sub

' Esta funcion convierta la fecha en cadena

Function fechaAcadena(FechaConvertidacadena As Date)
fechaAcadena = Format(FechaConvertidacadena, "dd/mm/yyyy")
End Function


ESTE ES EL OTRO INTENTO QUE TAMPOCO ME FUNCIONO:

Private Sub Command1_Click()


Dim nombre, archivo, fecha As String
On Error GoTo fallo
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlWB = xlApp.Workbooks.Add
Set xlWS = xlWB.Worksheets.Add

'nombre = fechaAcadena(Date)

Open "c:\" & "nombre" & ".xls" For Output As #1 'abre archivo como lectura pero lo guarda como como “nombrefecha en lugar de 19/05/2009”
'While Not EOF(1) 'mientras no llegue al final del archivo lee carácter por carácter
'Line Input #1, Caja_Texto 'lee todo lo que esta en el archivo y lo guarda en la variable caja_texto
'Wend 'colocado en la posición correspondiente en la pantalla
'Close #1
Name "c:\nombre.xls" As "c:\" & CStr(Date) & ".xls" 'aquí intente cambiar el nombre del archivo de “nombre” a la fecha actual pero tampoco funciona
xlApp.Quit
Set xlWS = Nothing
Set xlWB = Nothing
Set xlApp = Nothing
MsgBox ("Archivo creado en C:\"), vbInformation
Exit Sub
fallo:
MsgBox ("No se creo el archivo"), vbInformation
End Sub
Function fechaAcadena(FechaConvertidacadena As Date)
fechaAcadena = Format(FechaConvertidacadena, "dd/mm/yyyy")
End Function



El objetivo es que se cree un archivo Excel cada vez que se pisa el botón el nombre del archivo será la fecha actual al momento de pisar el botón, solo la fecha no la hora y que no borre los archivos anteriores ya que esto se hará una vez al día, espero puedan ayudarme, gracias de antemano.
  #2 (permalink)  
Antiguo 19/05/2009, 15:16
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Guardar archivos con fecha como nombre

Cita:
Iniciado por tipsy
nombre = fechaAcadena(Date) 'primero convierto la fecha en cadena

xlWS.SaveAs "c:\" & “nombre” & ".xls" 'aquí intento guardar el .xls con la fecha por 'nombre pero no lo hace lo guarda con “nombre”
Tu error esta en que estas poniendo la variable NOMBRE entre parentesis... las variables nunca se ponen entre parentesis por que te lo toma como string...

Entonces tendria que ser asi

Código:
xlWS.SaveAs "c:\" & nombre & ".xls" 'aquí intento guardar el .xls con la fecha por 'nombre pero no lo hace lo guarda con “nombre”
Otro detalle, no se como sera tu funcion "fechaAcadena" pero podrias hacer algo asi

Código:
nombre = day(date) & "-" & month(date) & "-" & year(date) & " " & hour(time) & "-" & minute(time) & "-" & second(time)
De esta forma te queda fecha y hora...

Código:
01-02-2009 10-23-34
  #3 (permalink)  
Antiguo 20/05/2009, 11:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Guardar archivos con fecha como nombre

Muchas gracias por su ayuda, un amigo que es buen programador tambien se fijo en el detalle o el error mío, fue en la función, la fecha no debí colocarla como fechaAcadena = Format(FechaConvertidacadena, "dd/mm/yyyy") sino como

fechaAcadena = Format(FechaConvertidacadena, "dd-mm-yyyy") me dijo que lo que sucedía es que si pongo el “/” ve la fecha como directorios.

Muchas Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:50.