elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Temporalizador para Excel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Temporalizador para Excel  (Leído 1,764 veces)
Akuma san

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Temporalizador para Excel
« en: 4 Diciembre 2006, 08:45 am »

Necesito armar una planilla de Excel que tenga un temporizador que a los diez minutos de anotar el primer dato de la matriz, cancele la posibilidad de seguir anotando cambios, es decir que me de solo diez minutos para hacer lo que tengo que hacer: cambiar algunas cosas por otras.
¿alguien me puede dar una mano?
Existe alguna función "reloj", o debo armar una macro con VB?
¿cómo armar un temporizador con las "fx" de Excel? :huh:


Akuma san


En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Temporalizador para Excel
« Respuesta #1 en: 6 Diciembre 2006, 23:53 pm »

mira puedes hacer una macro y poner este procedimiento, le tienes que pasar el tiempo en segundos


Código:
Private Sub Espera(Segundos As Single)
  Dim ComienzoSeg As Single
  Dim FinSeg As Single
  ComienzoSeg = Timer
  FinSeg = ComienzoSeg + Segundos
  Do While FinSeg > Timer
      DoEvents
      If ComienzoSeg > Timer Then
          FinSeg = FinSeg - 24 * 60 * 60
      End If
  Loop
 
  Hoja1.Protect
 
End Sub


lo malo de esto esque si al abrir el archivo xls le dicen que no ejecute macros ya no va a funcionar, pero espero y te sirva de algo


En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Akuma san

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Temporalizador para Excel
« Respuesta #2 en: 7 Diciembre 2006, 05:35 am »

Gracias CeLaYa.
Voy a probar tu rutina.
Pero antes... ¿dónde defino los diez minutos (600 s), es decir cual es la variable? y... ¿dónde queda establecido a partir de cuando empiezan a correr los 600 segundos? o así como me lo pasastes comienza con el primer evento que cambie?
Verás que mi conocimiento en el tema es menos que mínimo. :rolleyes:
Un abrazo.

Akuma san
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Temporalizador para Excel
« Respuesta #3 en: 7 Diciembre 2006, 14:15 pm »

si abres el editor de VB que trae el Excel veras un objeto que se llama "thisWorkBook", el WorkBooK trae un evento el Workbook_Open() puedes usarlo para mandar llamar la funcion

Código:
Private Sub Workbook_Open()
   Espera 600
End Sub

con esto cuenta 10 min a partir de que abres el libro, checa los eventos de las hojas para que veas si puedes usar alguno, Existe el Change que te detecta cuando algo cambia en la hoja ese a lo mejor tambien te puede servir
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Temporalizador para Excel
« Respuesta #4 en: 8 Diciembre 2006, 11:04 am »

puedes usar el api del SetTimer  el problema es que no tienes un hwnd pues lo que puedes hacer es usar el api findwindow con el titulo del la la ventana de excel

tengo un ejemplo pero como no tengo excel instalado no te lo puedo pasar
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines