Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm using the sendkeys command to send different key strokes to an outside
program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Using SendKeys to send keystrokes to an app is like pitching in softball:
You need to allow the catcher time to catch the balls! After each SendKeys statement, put a DoEvents. This runs the app briefly (to process the keystroke) -- Gary''s Student - gsnu200856 "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I wasn't aware of this command as I'm new to coding but this doesn't make a
difference for this instance. "Gary''s Student" wrote: Using SendKeys to send keystrokes to an app is like pitching in softball: You need to allow the catcher time to catch the balls! After each SendKeys statement, put a DoEvents. This runs the app briefly (to process the keystroke) -- Gary''s Student - gsnu200856 "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You may or may not need to include a DoEvents, as GS suggests, but not after
each tab unless a tab is supposed to trigger something else, which I doubt. You might need the first character as an ESC. Try this to get a feel Sub test() Dim sKeys As String sKeys = "a" & vbTab & "b" & vbTab & vbTab & vbTab & "c" Application.SendKeys sKeys ' place the cursor just after the appostrophe below and press F5 ' End Sub Regards, Peter T "Mr. m0le" wrote in message ... I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This will work if i edit what you put to make a variable with the different
key stroke combinations but still not quite what i was looking for. What i really was try to see if it was possible was to just have one singe command that used the key stroke a defined number of times. ie. ("<Tab 20") will enter the tab key for 20 strokes.... Either i'm missing something or the application I'm working with doesn't allow for this type of command to run and i'm stuck with making variable sets. "Peter T" wrote: You may or may not need to include a DoEvents, as GS suggests, but not after each tab unless a tab is supposed to trigger something else, which I doubt. You might need the first character as an ESC. Try this to get a feel Sub test() Dim sKeys As String sKeys = "a" & vbTab & "b" & vbTab & vbTab & vbTab & "c" Application.SendKeys sKeys ' place the cursor just after the appostrophe below and press F5 ' End Sub Regards, Peter T "Mr. m0le" wrote in message ... I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Application.SendKeys "{TAB 20}"
regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
All this does is put {Tab 20} as text into the application...
"r" wrote: Application.SendKeys "{TAB 20}" regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I believe that you can only
"<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab <Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab " regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: All this does is put {Tab 20} as text into the application... "r" wrote: Application.SendKeys "{TAB 20}" regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Yeah, it looks that way. I ended up creating several variables for the tab
amounts i needed. "r" wrote: I believe that you can only "<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab <Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab " regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: All this does is put {Tab 20} as text into the application... "r" wrote: Application.SendKeys "{TAB 20}" regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dim sKeys As String
Dim n as long n = 20 sKeys = "A" & String(n, vbTab) & "B" application.sendkeys sKeys Regards, Peter T "Mr. m0le" wrote in message ... Yeah, it looks that way. I ended up creating several variables for the tab amounts i needed. "r" wrote: I believe that you can only "<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab <Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab<Tab " regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: All this does is put {Tab 20} as text into the application... "r" wrote: Application.SendKeys "{TAB 20}" regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html "Mr. m0le" wrote: I'm using the sendkeys command to send different key strokes to an outside program already running. Normally this isn't an issue except for this macro i'm putting together i have 20+ sendkeys in a row just to get to where i need the cursor. I looked in MS Help files and it said to just put a space between the key and how many strokes but either vb gives me a code error or it puts some combination of the word tab and the number used or "tabs" once then the number. here is an example of what I was trying to do; main.screen.sendkeys ("<tab 20") this just puts the word and number into the program instead of the actuall key stroke. I've tried all different kinds of combinations to get it to work but without luck. Also, the sendkeys command for it to work that i've seen so far is to have the key setup like so ("<KEY"). Anyone have any ideas on how i can condense my many sendkeys commands? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
SendKeys not working for some program | Excel Programming | |||
condense code for gridelines | New Users to Excel | |||
Condense Code | Excel Programming | |||
SendKeys {HOME} not working | Excel Programming | |||
appactivate sendkeys not working with accelerator | Excel Programming |