View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Geoff Martin[_2_] Geoff Martin[_2_] is offline
external usenet poster
 
Posts: 4
Default 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