How do I set up a keystroke macro?

G

Guest

I have a simple macro that takes the report currently being viewed and
exports it to a rtf file and opens Word so I can make notes on it before
printing the report.

Currently I am going through Tools - Run Macro and it works well. However, I
would like to just enter a keystroke such as control-R. Can this be done?
 
T

tina

you can create a macro named AutoKeys, assign the keystrokes you want to
use, in the Name column (such as ^R for Ctrl+R), and use the RunMacro action
to run your "export and open Word" macro. look up "autokeys" in Access Help
for details.

hth
 
G

Guest

Try

SendKeys "^R", False



SendKeys Statement


Sends one or more keystrokes to the active window as if typed at the keyboard.

Syntax

SendKeys string[, wait]

The SendKeys statement syntax has these named arguments:

Part Description
string Required. String expression specifying the keystrokes to send.
Wait Optional. Boolean value specifying the wait mode. If False (default),
control is returned to the procedure immediately after the keys are sent. If
True, keystrokes must be processed before control is returned to the
procedure.



Remarks

Each key is represented by one or more characters. To specify a single
keyboard character, use the character itself. For example, to represent the
letter A, use "A" for string. To represent more than one character, append
each additional character to the one preceding it. To represent the letters
A, B, and C, use "ABC" for string.

The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses (
) have special meanings to SendKeys. To specify one of these characters,
enclose it within braces ({}). For example, to specify the plus sign, use
{+}. Brackets ([ ]) have no special meaning to SendKeys, but you must enclose
them in braces. In other applications, brackets do have a special meaning
that may be significant when dynamic data exchange (DDE) occurs. To specify
brace characters, use {{} and {}}.

To specify characters that aren't displayed when you press a key, such as
ENTER or TAB, and keys that represent actions rather than characters, use the
codes shown below:

Key Code
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER}or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}



To specify keys combined with any combination of the SHIFT, CTRL, and ALT
keys, precede the key code with one or more of the following codes:

Key Code
SHIFT +
CTRL ^
ALT %



To specify that any combination of SHIFT, CTRL, and ALT should be held down
while several other keys are pressed, enclose the code for those keys in
parentheses. For example, to specify to hold down SHIFT while E and C are
pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed,
followed by C without SHIFT, use "+EC".

To specify repeating keys, use the form {key number}. You must put a space
between key and number. For example, {LEFT 42} means press the LEFT ARROW key
42 times; {h 10} means press H 10 times.

Note You can't use SendKeys to send keystrokes to an application that is
not designed to run in Microsoft Windows or Macintosh. Sendkeys also can't
send the PRINT SCREEN key {PRTSC} to any application.
 
G

Guest

Thanks to both of you... both methods work great and I owe it to you (and
the others on this site) that my company thinks I'm a whizbang programmer.

Maybe one of these days I'll actually qualify!
 
B

Brian Gilligan via AccessMonster.com

A timely posting but I cannot seem to get my autokeys macro to accept +, -,
* or /

{+} keeps giving me a "invalid syntax or combination is not allowed"
message... any thoughts?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top