Jump to content
Macro Express Forums

rberq

Members
  • Posts

    1,201
  • Joined

  • Last visited

  • Days Won

    61

Everything posted by rberq

  1. You start your macro with Alt-S. Are you sure the macro is actually running? Or maybe the Alt-S is being captured by Acrobat and doing something within Acrobat? I had that problem with a different version of Acrobat; macro was fine but the hot key to start it was ignored when Acrobat was running. Put a Text Box Display as the very first line of your macro to see if the macro starts up and displays it.
  2. The symbol at the reload location changes to an X during the reload, and back to the circular-arrow when the reload is complete. If you check the pixel location of the center of the X, it should change from black to background color when the X goes away -- that is, when the page reload is complete. It's a small target to hit with your Get Pixel Color -- might be easier to check the arrowhead because that's a little bigger.
  3. If you don't already have it, try something like this at the beginning of each macro: Keystroke Speed: 5 Milliseconds I've had sort of the opposite on some macros -- a macro started by the numeric keypad "4" is supposed to type "abc" but now and then it types "4abc". P.S. I'm also on ME3, version 3.7a
  4. Yes, I understand. It's the "Variable Set String %tName% from the clipboard contents" that is taking 4 seconds for you. The last line of my sample macro is "Variable Set String %T1% from Clipboard" to match yours, and mine runs in way less than one second. So the answer is, No, I can't get it to run slow like yours does. Again, note that I am running ME3, not ME Pro.
  5. Running ME3 with Windows 7. I have many macros that run this generic copy-to-clipboard macro, and very fast response time for all. Preference for clipboard delay is set to zero, with the macro itself determining whether the copy has completed or not. Clipboard Empty // Copy to clipboard Clipboard Copy // Loop until clipboard is non-null, that is, copy to clipboard has completed. Since the value // to be copied may in fact BE null, we limit the loop to a nominal 1 second, then quit, leaving it null. // (Due to overhead, the actual loop time will be more like 2 seconds than 1.) Repeat Start (Repeat 50 times) Delay 20 Milliseconds If Clipboard Text Equals "" Else Repeat Exit End If Repeat End Variable Set String %T1% from Clipboard
  6. Years back I had a wonderful mechanical keyboard. Can't even remember the brand now, but it has been unavailable for many years. It was a pleasure to type on, and had 24 programmable keys as well -- you simply pressed the Program key, the hot key, then a sequence of keystrokes, then an end key. MUCH faster than writing a macro, if all you wanted was a short sequence for something you had to "type" a few hundred times. But that's what got me interested in Macro Express in the first place, because you couldn't embed any time delays or conditional tests with the keyboard, just a string of keystrokes. Eventually I used the programmable keys mostly to trigger ME macros, with a couple set aside for on-the-fly temporary use. The keyboard never actually died, but over the years computers changed from a large round keyboard connector to a small round connector -- which still worked fine with an adapter. But USB input was the end; even with an adapter the keyboard no longer worked. It was a sad day.
  7. Maybe. But I sure miss GoTo in any language that doesn't have it.
  8. Are you sure the window you want to activate is running? If you kill the macro and Alt-Tab by hand, can you find it running? Other than that, I'd try making the delays about 100ms instead of 20ms, and place the delay immediately AFTER the activate line instead of before it. In other words, give Windows a little time after the command to activate, before setting the variable to topmost window name. Also I don't understand the Goto: OK commands. It looks like they take you out of the internal Repeat loops, back to the outer loop where the Reset commands clear out the stored name of the active window.
  9. I disagree with both Terry and Cory, but only because I'm difficult and hard to get along with. I have done this in the past by having the macro run a batch file containing a couple commands: cd\desktop path dir /N /O > c:\temp\dirlist.txt This produces a standard format directory list, with fixed columns for size, date, etc for each file. Then your macro can read back the directory list file (ASCII FILE BEGIN PROCESS or TEXT FILE BEGIN PROCESS), analyze each line for date and size and whatever, and write a second batch file (VARIABLE MODIFY STRING APPEND TO TEXT FILE) containing DOS "move" commands to move the files and folders wherever you want them. In each "move" command include the option to ignore errors, so the whole batch file won't abort for a single file-move problem. Finally, your macro can run the second batch file to actually move the files off the desktop. If a file or two is passed over when the second batch file runs (due to being in use or whatever) it should be picked up next time your cleanup process runs. Your cleanup macro can be scheduled to run at whatever frequency and interval you choose; or via a hotkey; or both. You might want to initially pop up a warning text box, so you know to stop typing while the cleanup process runs. That's one drawback of my method -- it doesn't happen invisibly in the background and your keyboard activity might interfere.
  10. If I'm missing the point here, I apologize in advance. I have written macros to do nothing but save a large number of variables in Environment Variables, and to load them back when needed. So I would run the Save macro at the end of each functional macro; and run the Load macro at the beginning of each. This worked fine as long as I didn't exceed the allowable size of the Environment Variable(s) used for storage. As I recall, I converted integer and decimal variables to fixed-length text strings so dozens of them could be stored into a single Environment Variable; but used separate Environment Variables for each text variable. It is a fair amount of work to write the Save and Restore macros, but you only have to do it once; then insert the Macro Run commands at the beginning and end of your other macros. Or if you don't want to use Macro Run for the Save and Load, you can have blocks of code that you copy into your other macros -- that's more work because you have to redo all the copying every time you add or change a variable.
  11. I think this will work: Repeat with Folder (folder E:\Temp, putting file name only into text variable T1) Use Variable Modify Text commands to copy T1 to T2 and strip off the file extension from T2 Create Folder: "C:\%T2%" Wait for Folder Exist: "C:\%T2%" Copy File or Files: "E:\Temp\%T1%" (destination C:\%T2%\%T1%) Repeat End
  12. OK, I'm out of ideas. You could open a case with the vendor Insight.
  13. What is the initial value of %bleu_invitation%, which is used to set integer N[1]?
  14. In Macro Express 3 (not Pro), "N" variables are reserved for integers. Are you using N[1] to store text, at first, and later to receive pixel color? Is it possible that ME is confused as to which type of variable it is, causing the GET PIXEL line to fail?
  15. You can start Explorer by having a macro launch program explorer.exe. I believe there are parameters you can feed it at launch, to say "what" you want to explore. Window name on my PC is whatever is being explored -- that is, if I highlight the Temp folder, window name will be C:\Temp. Windows Task Manager seems to show process "explorer.exe" running all the time, whether it actually has a window open or not, so macro command "If program explorer.exe is running" always tests true on my PC. The following seems to work for me, as to whether explorer is actively displaying a window or not: If Program Name "explorer.exe" is on top Text Box Display: Explorer is on top Else Text Box Display: Explorer is not on top End If Hope that helps a little.
  16. Each macro has properties, which you can access from Macro Explorer. Schedule is one of the properties, and run at Startup is one of the schedule options. You can try specifying that for the one macro in the mex file that you want to run. It works as long as Macro Express is not already running. The .bat file method described previously should work. Have you tried it? It's just as easy to double click a batch file icon as a mex file icon, and doesn't matter whether ME is already running or not..
  17. How about double-click a batch file like x.bat, where x.bat contains the line meproc.exe /ANickname. "Nickname" can be a macro that runs the other macros by a series of MacroRun commands. Look up macexp.exe and meproc.exe in the help files. There's no requirement that the macros be segregated in their own .mex file.
  18. Didn't understand a word you said. Can he run ME on the Citrix server, or on the application server, or is he SOL?
  19. We had a problem (not Macro Express, but similar) where the developer tested via RDP on the DEV server. He turned a pretty shade of green when he discovered all the users would be connecting via Citrix so nothing worked. We had to get special dispensation to run the application directly on all the Citrix servers, then it was OK. Maybe something like that could work for you?
  20. Yes, I was caught by that once or twice. If a line contains only blanks, the file process returns it to the macro. But if it contains nothing but a carriage-return-line-feed, then the macro logic never sees that line. I got around that by putting an extra character, like a period, at the beginning or end of every line, then stripping it off as I processed each line.
  21. Here's an interesting writeup: https://support.smartbear.com/viewarticle/65812/ Perhaps you could write a mini-program for each key combination you need, and use macros to run the programs. You could contact Insight support and ask whether KEYD and KEYU are supposed to work with TAB. If they intended it to work, then it's a bug and they may be able to fix it.
  22. Yes, this is something ME can do very well. I recommend exactly what Cory said: capture cells and append to a text file with one macro, process and paste from the text file with a second macro. And a third macro, to delete the text file when all pasting has been completed successfully. You could delete the text file in the second macro, but it's better to keep it around in case something goes wrong during the pasting and you want to start that phase over again.
  23. Thanks, Cory. So THAT'S why I have such trouble with Word. Often I paste data into Notepad, then copy to clipboard and paste into Word to get rid of some of the "clever clever" stuff. I guess I should read up on Styles...
×
×
  • Create New...