Como hacer que visual siga ejecutándose
Publicado por Roberto (1 intervención) el 22/02/2010 10:03:35
Buenas,
Quería hacer una rutina al apretar un botón en excel que renombre el fichero que está abierto. Para ello lo que se me ha ocurrido es que guarde el fichero, que lo cierre, que lo renombre y que lo vuelva a abrir. El problema es que cuando el fichero excel se cierra, el programa de vba deja de ejecutarse, y por lo tanto no se abre.
Lo que he escrito es lo siguiente:
Private Sub CommandButton9_Click()
Dim rutaoriginal As String
Dim rutadestino As String
Dim nombrefinal As String
'obtener el nuevo nombre del fichero Excel
nombrefinal = ActiveWorkbook.Sheets("OFERTA").Range("O2").Value
'determinar las rutas
rutaoriginal = ActiveWorkbook.Path + "\" + ActiveWorkbook.Name
rutadestino = ActiveWorkbook.Path + "\" + nombrefinal
'guardar en la ruta original
ActiveWorkbook.Save
'cerrar el fichero
ActiveWorkbook.Close
'renombrarlo
Name rutaoriginal As rutadestino
'abrir el fichero
Application.Workbooks.Open (rutadestino)
End Sub
Hay alguna forma de que el programa de vba siga ejecutándose después de que se haya cerrado el excel? Y sino es así, se os ocurre alguna otra forma de renombrar un fichero abierto en ese mismo momento?
GRACIAS Y UN SALUDO!
Quería hacer una rutina al apretar un botón en excel que renombre el fichero que está abierto. Para ello lo que se me ha ocurrido es que guarde el fichero, que lo cierre, que lo renombre y que lo vuelva a abrir. El problema es que cuando el fichero excel se cierra, el programa de vba deja de ejecutarse, y por lo tanto no se abre.
Lo que he escrito es lo siguiente:
Private Sub CommandButton9_Click()
Dim rutaoriginal As String
Dim rutadestino As String
Dim nombrefinal As String
'obtener el nuevo nombre del fichero Excel
nombrefinal = ActiveWorkbook.Sheets("OFERTA").Range("O2").Value
'determinar las rutas
rutaoriginal = ActiveWorkbook.Path + "\" + ActiveWorkbook.Name
rutadestino = ActiveWorkbook.Path + "\" + nombrefinal
'guardar en la ruta original
ActiveWorkbook.Save
'cerrar el fichero
ActiveWorkbook.Close
'renombrarlo
Name rutaoriginal As rutadestino
'abrir el fichero
Application.Workbooks.Open (rutadestino)
End Sub
Hay alguna forma de que el programa de vba siga ejecutándose después de que se haya cerrado el excel? Y sino es así, se os ocurre alguna otra forma de renombrar un fichero abierto en ese mismo momento?
GRACIAS Y UN SALUDO!
Valora esta pregunta


0