非线性药物动力学:谁能帮我看下这段VB代码哪错了?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 19:52:54
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
Private Function MyHotKey(vKeyCode) As Boolean
MyHotKey = (GetAsyncKeyState(vKeyCode) < 0)
End Function

Private Sub Form_Load()
Text1.Text = "E"
Timer1.Interval = 10
End Sub

Private Sub Timer1_Timer()
a = "MyHotKey(vbKey" & Text1.Text & ")"
If a And vbKeyControl Then
MsgBox "ok"
End If
End Sub

运行的时候总是显示"错误13 类型不匹配"请问怎么改才能正确?
谢谢大家了
Private Sub Timer1_Timer()
'a = "MyHotKey(vbKey" & Text1.Text & ")"
'MsgBox a
If MyHotKey(vbKey & Text1.Text) And vbKeyControl Then
MsgBox "ok"
End If
End Sub

我的意思就是有一个textbox就是text1,里面预先输入一个英文字母当按下快捷键ctrl+textbox的英文字母就执行msgbox

我尝试修改了代码~不调用变量..不过似乎好象还是不行~我是初学者还请多多指点

Private Sub Timer1_Timer()
a = "MyHotKey(vbKey" & Text1.Text & ")"
If a And vbKeyControl Then
MsgBox "ok"
End If
End Sub

晕,a是什么数据类型?为什么不声明一下?会累死你吗?

If a And vbKeyControl Then 中的And前后应该是两个逻辑表达式(返回True或False),但是你看看,你的程序是怎么写的?!不出现“类型不匹配”的错误提示可能吗?

快修改一下吧,以后不要讨懒了~~