Regresar a la Pagina de Inicio

16 mar. 2010

macros: controlar el tiempo desde excel - OnTime()

Muchas veces nos veremos en la necesidad de realizar acciones a una hora determinada, por ejemplo:
1) cerrar el libro
2) efectuar un backup de datos
3) llamar a un procedimiento o funcion
4) etc, etc.

2 comentarios:

Anónimo dijo...

Hola Damian, Cordial saludo

Solicito tu ayuda, trengo problemas al abrir un archivo realizado en excel 2007, para abrirlo en 2010, con el código de encriptar que vos mismo muy amablemente nos brindaste, y es lo siguiente:
Siempre que abro el libro en excel 2010, muestra un mensaje diciendo: Excel ha encontrado contenido que no se puede leer. Desea recuperarlo?, y al decir SI, abre el libro, pero:
1. El libro contiene vínculos a otros orígenes, como ver esos vínculos y elimininarlos cuando yo no tenía ningún tipo de vínculos?
2. Muestra error 16360 02.xlm
Registros quitados Rango con nombre de /xl/workbook.xlm parte (libro)
Si le doy click en el enlace, presenta la misma información en una página web en html,
3. Pero cada vez que abro el libro se presenta la misma situación

4. Al registrar el serial y darle aceptar lanza una advertencia de:
Microsoft Visual Basic:
Se ha producido error "1004", Error en el método "Save", de objeto "_Workbook", y por supuesto no permite abrir la aplicación.

ESTE ES EL CÓDIGO QUE TENGO EN EL WORKBOOK
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets("BIENVENIDA").Select
Range("D17").Select

' Codigo Encriptar No. Serie
If Sheets("xxx").Range("a3").Value = 1 Then Exit Sub
' Toma los 3 primeros caracteres del path en donde se ejecuta el libro,
'y así obtengo, por ejemplo, C:\ ó cualquier otra letra
Ruta = Left(ActiveWorkbook.Path, 3)
If DiscoApto(Ruta) = False Then
'si la funcion es False, aviso y cierro el libro:
MsgBox "No se pueden Copiar los archivos al disco duro de su máquina.", vbCritical, "Error"
ActiveWorkbook.Close xlDoNotSaveChanges
Else
With Sheets("xxx")
'si se ejecuta en el disco correcto, guardo su nro de serie
.Range("A1").Value = TomarNroDeSerie(Ruta)
'encripto el nro de serie y lo guardo:
.Range("A2").Value = EncriptarNroDeSerie(.Range("A1").Value)
End With
'en la hoja "bienvenida" (que será la única visible del proyecto)
'coloco en A2 el nro de serie del disco, avisando al cliente que
'debe pasarmelo para activar el libro:
Sheets("BIENVENIDA").Range("A2") = Sheets("xxx").Range("A1").Value
End If
ActiveWindow.DisplayWorkbookTabs = False
End Sub

Private Sub CommandButton1_Click()
frmActualizar.Show
End Sub


Y ESTE ES EL CÓDIGO QUE TENGO EN EL BOTON

Unload Me
Sheets("VBA Times").Visible = True
Sheets("VBA Times").Select
Hoja1.Visible = True
Hoja2.Visible = True
Hoja3.Visible = True
Hoja4.Visible = True
Hoja5.Visible = True
Hoja7.Visible = True
Sheets("BIENVENIDA").Visible = False
End If
End If
End If
End If
ActiveWorkbook.Save
End Sub


Gracias por tu colaboración

Armand

Damian Omar Silva dijo...

Quizas uno de los problemas a que debes guardarlo como "libro habilitado para macros".
Enviame el archivo asi lo estudio un poco y veo si puedo solucionarlo.

Publicar un comentario

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028