jmazor Posted November 16, 2007 Report Share Posted November 16, 2007 I use a ton of shortkeys for text abbreviations. Problem is that in one window of one program, ME is just too fast. I have inserted an "IF _____ Window Active, then Run Keystroke Delay Macro" statement in a few of the macros, so, when the shortkey is triggered, it checks to see if this problem window is active. If so, it runs the little macro that contains the keystroke delay command and then types out the text. Else it just types out the text. That works fine. Does anyone have any suggestion as to how to either: a. Set some global ME setting so that whenever that particular window is active, any shortkey automatically runs with the keystroke delay; or, b. Some nifty way to insert the "If _______ Window Active, then Run Keystroke Delay Macro" lines as the first lines in 150 or more macros? Thanks, Jeffrey R. Mazor, Esq. J. R. Mazor & Associates, P.A. Presidential Circle Building 4000 Hollywood Blvd., Suite 265-s Hollywood, FL 33021 Phone: 954-962-3500 Fax: 954-962-3560 Email: JMazor@Mazor.com Quote Link to comment Share on other sites More sharing options...
paul Posted November 18, 2007 Report Share Posted November 18, 2007 I use a ton of shortkeys for text abbreviations. Problem is that in one window of one program, ME is just too fast.Does anyone have any suggestion as to how to either: b. Some nifty way to insert the "If _______ Window Active, then Run Keystroke Delay Macro" lines as the first lines in 150 or more macros? You'll need to write a macro that moves the cursor down through each macro within the selected category, opens each macro, insets the required line, saves and closes the macro (all this within a repeat group). And you need to recognize when the macro you've just opened is the same as the macro you opened last time so that you can exit the loop. It's not too hard, I've done it heaps of times. P.S. Any time I write a macro that needs to type out some text, I always set the keyboard speed to 30 or more. Quote Link to comment Share on other sites More sharing options...
jmazor Posted November 19, 2007 Author Report Share Posted November 19, 2007 Thanks so much. I'll give it a try over. I'll first try the keyboard speed idea. Quote Link to comment Share on other sites More sharing options...
kevin Posted November 19, 2007 Report Share Posted November 19, 2007 You may want to try setting the global Text Type delay preference. Click Options, Preferences, Delays. Make sure 'Use Text Type delay' is checked and enter something like 300, 500, or 1000 in the microseconds field. This will slow down all text type commands but you may not notice the difference. To make the Text Type command more reliable the latest versions of Macro Express default this value to 300 microseconds. Unless you uninstall first, upgrading does not change the value you already have. Quote Link to comment Share on other sites More sharing options...
blopib Posted November 19, 2007 Report Share Posted November 19, 2007 As i have mentioned in earlier posts, we use a delay of 10000 microseconds just to be sure, a couple a days before i tried to trim just only this delay, to speed things up, where running a macro which handles data between two applications. When i went under 3000 it just went crazy and wrote stuff in the wrong fields. 071120 kl.0858 Perhaps i should explain a little bit more why we have this trouble and have to use this long delays. We're very often running against an application in a server located far from here and the application has many fields that we have to fill with data. We just have no other way to approach the fields than with the Tab (Text type:Tab). If the macro runs to fast it jumps and write the data in the wrong fields. We also use alot of Wait for, etc. in the macros. Mostly we copy data, edit and back and forth between Excel and this special App. (Who needs Crystal reports? ) You can easy say that ME is a lifesaver in our work. Quote Link to comment Share on other sites More sharing options...
floyd Posted November 20, 2007 Report Share Posted November 20, 2007 We just have no other way to approach the fields than with the Tab (Text type:Tab). If the macro runs to fast it jumps and write the data in the wrong fields. We also use alot of Wait for, etc. in the macros. This is not an unusual application for Macro Express, and you are taking the correct approach in adjusting its speed. Keep in mind that the playback preference setting is for all macros and is based on microseconds rather than milliseconds, so when you state that the setting is 10,000 microseconds, it means 10 milliseconds (1,000 microseconds = 1 millisecond). Another command to look at is the Keystroke Speed command. It is used to control individual macro typing speeds. The value is stated milliseconds (1,000 milliseconds = 1 second) and remains in effect until the macro ends or until changed with another Keystroke Speed command. Something else to consider is the Wait Text Playback command, which simply stops the macro until the keyboard buffer is empty. Sometimes this is better than using Delays. Neither of these, however, can control how fast, or how slow, the target application reacts when simply tabbing from one field to the next. Every app is different in what it does to process keystrokes sent to it. It's natural that Macro Express sends keystrokes to apps faster than they can process them. I'm a pretty fast typist, but there is no way for me to type anywhere near the speed of light that any program, including Macro Express, can type. So, delays are a natural solution. Quote Link to comment Share on other sites More sharing options...
blopib Posted November 20, 2007 Report Share Posted November 20, 2007 Tanks for the tip Floyd! In our case we mostly work against the same application, so it's solved with the Text Type Delay option. But we also use the macro to work in just e.g. excel-sheets so maybe it should be possible to set the Text Type Delay individualy in every macro? Perhaps i should post it as an request? Ehh, Kevin? You may want to try setting the global Text Type delay preference. Click Options, Preferences, Delays. Make sure 'Use Text Type delay' is checked and enter something like 300, 500, or 1000 in the microseconds field. This will slow down all text type commands but you may not notice the difference Quote Link to comment Share on other sites More sharing options...
floyd Posted November 20, 2007 Report Share Posted November 20, 2007 maybe it should be possible to set the Text Type Delay individualy in every macro? Perhaps i should post it as an request? No need to request it. The command already exists: Keystroke Speed. Quote Link to comment Share on other sites More sharing options...
blopib Posted November 20, 2007 Report Share Posted November 20, 2007 No need to request it. The command already exists: Keystroke Speed Doesn't it help in just Keystrokes? We use Text Type in many cases e.g. pasting work descriptions (up to 2000 characters) in a field with the use of Text Type %T1%. Take this example, when writing out the text in this case it takes some time, in this macro you could have a much greater speed in the Text Type when writing in the same field. But in other cases you have to have a much lower speed, there for my thoughts about having the possibility to change individualy in every macro. Quote Link to comment Share on other sites More sharing options...
floyd Posted November 20, 2007 Report Share Posted November 20, 2007 Doesn't it help in just Keystrokes? No. Its intended purpose IS to control the speed of the Text Type command. If, for example, you have Keystroke Speed set for 50, and you are using Text Type to type-out "Macro Express Explained", a 50 ms delay will occur between each character in the string. Therefore, the 23 characters will require 1,150 ms (about 1 second) to type-out. Quote Link to comment Share on other sites More sharing options...
blopib Posted November 20, 2007 Report Share Posted November 20, 2007 Ahhh, i see! I'll try this first thing tomorrow, this is really interesting, we could trim alot in our macros. We were certain it was only for tab, shift etc. commands, don't ask why... I like that you pointed out: "Macro Express Explained" No, i havent read it. but i guess i should. Thanks again Floyd. Quote Link to comment Share on other sites More sharing options...
floyd Posted November 20, 2007 Report Share Posted November 20, 2007 this is really interesting, we could trim alot in our macros. You are welcome, but remember that reliability is much more important than speed. If a macro crashes midway through a task because it's running too fast, any time savings is kaput. Quote Link to comment Share on other sites More sharing options...
paul Posted November 20, 2007 Report Share Posted November 20, 2007 No. Its intended purpose IS to control the speed of the Text Type command. If, for example, you have Keystroke Speed set for 50, and you are using Text Type to type-out "Macro Express Explained", a 50 ms delay will occur between each character in the string. Therefore, the 23 characters will require 1,150 ms (about 1 second) to type-out. And your chosen value doesn't need to be reset at the end of your macro, since this happens automatically. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.