Hvordan kan man bruge en Timerkontrol i VBA til Excel?
Jeg ville meget gerne lave en telefonbog i et Excelark, hvor det er muligt at søge via filtre ved bare udenvidere at skrive på tastaturet. Dette ville jeg i Java eller eller C++ lave med keylisteners. I Visual Basic havde jeg læst mig til at det kan lade sig gøre ved at oprette en timer og så kalde en rutine der lytter efter keypresses.Havde kigget lidt på denne kode:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub auto_open()
Application.OnKey "{F12}", "Form_Load"
End Sub
Private Sub Form_Load()
Timer1.Interval = 50
End Sub
Private Sub Timer1_Timer()
Dim i, KeyResult As Integer
For i = 0 To 255
KeyResult = GetAsyncKeyState(i)
If KeyResult = -32767 Then
If i = 122 Then
MsgBox "F11"
End If
End If
Next i
End Sub
Nu har jeg så via denne tråd: http://www.eksperten.dk/spm/415034 fundet ud af at man ikke kan bruge timere direkte i VBA. Nu er mit spørgsmål så om der er nogen der har en løsning på mit problem. Nogen gode foreslag til hvordan man eventuelt kan implementere en timer, eller en anden måde at teste for keypresses.
