Why does sendkeys seem to loop
Thanks. Is there a way to make that also insert the spacing at the cursor's
location? E.g., if it's in the middle of a word, then insert 5 spaces there?
Thanks again,
Geoff
--
--take out the nope to reach me--
"Bob Phillips" wrote in message
...
Geoff,
Try this without SendKeys
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 32 And Shift = 2 Then
KeyCode = 32
TextBox1.Text = TextBox1.Text & " "
End If
End Sub
--
HTH
Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
"Geoff Martin" wrote in message
...
When a user types the space bar, I want 1 space, but if they type
<Ctrl+space I want to insert 5 spaces where the cursor is in the text
box
(sort of simulating a tab, but I want to keep the tab key for moving
focus
from this control to the next).
If the message box line is commented out, spaces keep getting added in
what
seems like an endless loop. If the message box line us uncommented and
allowed to execute, then 5 spaces are added along with the original
space
making a total of 6 (1 space too many). If I change the keycode = 32 to
keycode = 188 (a comma, I think) then the correct number of spaces is
added
and there is no ",".
How can I fix this?
Thanks,
Geoff
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal
Shift As Integer)
If KeyCode = 32 And Shift = 2 Then
'MsgBox "Both the <ctrl key and <spc key were pressed"
SendKeys " ", False 'inserts 5 spaces
End If
End Sub
|