Jump to content
Macro Express Forums

Leaderboard


Popular Content

Showing most liked content since 04/20/2017 in all areas

  1. 1 point
    Sixteen IF statements in all, to place a displayable text character into a text variable: If Variable %N1% = 0 Variable Set String %T10% "0" End If If Variable %N1% = 1 Variable Set String %T10% "1" End If .... If Variable %N1% = 10 Variable Set String %T10% "A" End If .... If Variable %N1% = 15 Variable Set String %T10% "F" End If
  2. 1 point
    The Macro Express Text Type command can type text much faster than the application receiving the text can process it. Keystrokes are buffered until the application can finish processing it. Problems can occur if the buffer fills up. Other problems occur if the macro is depending on something happening as a result of the items typed but it has not occurred yet. Sometimes a small delay works fine. Sometimes, however, a delay is not enough. When writing the sample macro "Type Special Characters" we discovered that the more information that is entered into a Notepad window the slower it responds. So, for example, the same delay that works with the first 100 lines of text will no longer work with lines 1200-1300. The Wait for Text Playback will wait until the buffer has been emptied before continuing. To see how this works open the "Type Special Characters" macro in the samples.mex macro file. This macro file should be copied to the folder in your documents folder where your macro files are located. It is also installed in the same folder as the Macro Express program files. If you are unable to find a copy of samples.mex it can be downloaded here: https://www.macros.com/samplemacrospro.htm. If you edit the Type Special Characters macro to disable the Wait for Text Playback commands it will not run correctly.
  3. 1 point
    You can include end of line character(s) when saving information to a text file. You should be able to save the end of paragraph character once you identify what that character is. The end of line character(s) differ depending on what computer system you are using. For Windows this would be CR followed by LF or CRLF. However, if your destination computer is Linux this may be LF and for Apple this may be only either CR. I will leave it to you to determine which specific character(s) you need for end of paragraph or end of line. To include these characters in your macros use the "Variable Set to ASCII Char" command. This is a sample from my macros that sets variables for CR, LF and TAB. Variable Set to ASCII Char 13 to %CR% Variable Set to ASCII Char 10 to %LF% Variable Set to ASCII Char 9 to %TAB% For more information about ASCII Characters enter "ASCII characters" into your preferred search engine.
  4. 1 point
    I requested a feature to find and replace in multiple macros.
  5. 1 point
    I do not know. Have you tried it? How about Macro Express? Try the "Set Window Order Always on top" command.
  6. 1 point
    This will remove the name that is contained in %T[2]% from variable %[T3]%. Variable Modify String: Replace "%T[2]%" in %T[3]% with "" // Leave the "Replace Text With" box empty
  7. 1 point
    acantor sounds pessimistic, but he is absolutely right. The best Macro Express can do with Windows and especially web forms, is to be almost 100% reliable. It is great for automating personal tasks at work -- I always said it was worth half a person as a time saver. You can even roll it out to dozens or hundreds of users, but not to dummies. You/they have to watch carefully as the macros run and recognize when ME has gone wrong.
  8. 1 point
    Variable Set Integer %N1% from Position of Text in Variable %T1% (search for "user with code ") That gives you the displacement within the variable of the text "user with code ". Add 15 to the value in N1, and you have the starting position within the text of the two-character code. Extract the characters into another variable with Variable Modify String: Copy Part of %T1% to %T2% (starting position N1, characters to copy 2) If I have misunderstood what you want, then give us some examples of text you are working with, and the codes you are trying to isolate.
  9. 1 point
    If you sink enough time and effort into the problem, you may come up with a solution that almost always works. But you gotta love experimenting and tweaking, or you will likely find the experience a miserable drudge! I use a combination of techniques, including: - Clicking on a "neutral" part of the screen that resets the tab order. Then send tabs/shift tabs to the control. - Searching for a pixel colour on a control, or to something near the target, and then tabbing and/or clicking. - Searching for text on the screen. Then give the word or phrase focus, and then tab to the target. - Searching for text on the screen and then selecting it. Then search for the pixel colour of the selection,and click. Some of my Macro Express scripts perform thousands of actions to zero in on a target on a web app, and are almost 100% reliable. But they were labours of love. I was willing to put in the time to get them to work. And some of them are a bit brittle.
  10. 1 point
    I have done the same as Cory on some screens. Sometimes on a web page I will start with Alt-d to highlight the URL, because that also positions the cursor at the URL and gives a known starting point for tabbing. Of course, whoever maintains the page might also change the number of tabs needed. But you can diagnose and fix that fairly quickly when it happens, with the judicious use of Macro Stop statements inserted temporarily to see where the tabbing has left off. Sometimes if I can position the mouse fairly close above or below where I know the button will be, I write a short Repeat loop to move the mouse down or up a few pixels at a time, checking after each move to see if the mouse pointer has changed from an arrow to a finger. That works pretty well but sometimes fails due to timing, Windows busy doing something else so not changing the pointer quickly enough for example.
  11. 1 point
    * Example of one line of data, in variable T1. In your macro the Text File Process will populate the text variable, rather than the Set String command. Variable Set String %T1% " X:1701 Y:580" * Set integer to position of "X:" within the data Variable Set Integer %N1% from Position of Text in Variable %T1% * Bump position up by 2 characters so N1 is pointing to the first digit instead of to "X:" Variable Modify Integer: %N1% = %N1% + 2 * What Cory said -- move four digits from the data to another variable Variable Modify String: Copy Part of %T1% to %T2% [starting position N1, number of digits 4] * Display the extracted digits to verify the extraction is working properly Text Box Display: %T2% Of course in your actual macro, you would move the extracted digits to the array instead of Text Box Display.
  12. 1 point
    I would use Text File Process command if it's a file. Then in the loop I would use the Variable Modify String with the Copy Part of Text option. Simple. Assuming the X coordinate is always 4 digits of course. As per your sample.
  13. 1 point
    Here's the macro I said I'd post on return from holiday. Wish I'd seen your post about MXE files a few hours earlier, Samrae! I'd almost finished the macro, but it was based on my own method of identifying the variable type (tStringXyz is a text macro, nNumber an integer, dValue decimal, etc). Your MXE export idea allowed the following more flexible approach, which works for any style of variable naming. However, note that this works only for MX Pro, not MX3. Exports from the latter seem to be in a radically different form, based on the couple of old examples I found. The 'input' section for MX3 could instead follow my earlier method of first creating a text file from the target and the 'addition' section could be very similar to this one. It's not blisteringly fast, but a LOT faster than doing the job manually. About 1.5 seconds per variable on my first few tests, the largest with about 80 variables, mainly text. The major advantage I see for automating this is that it's so much easier to ensure identical variable names. Not having to remember or search for the names used before, with possible ambiguity and confusion if I vary them. See other notes in command comments. // Export the source macro as MXE (MX Pro only, not MX3). // Select the source macro containing the variables for copying across to the target macro Text Box Display: Select source macro Wait for Right Mouse Click Text Box Close: Select source macro Text Type (Simulate Keystrokes): x // Choose Export Delay: 0.2 seconds Text Type (Simulate Keystrokes): p // Choose Playable (MXE) Delay: 0.2 seconds // Save the MXE as a TXT file with a permanent name and path of your choice. Text Type (Use Clipboard and Paste Text): C:\Users\terry\Dropbox\Macro Express (Sundry)\ExportedMXE.txt // Choose Playable (MXE) Wait for Text Playback Mouse Move: 790, 564 Relative to Current Window // Save button Mouse Left Click Text Type (Simulate Keystrokes): y // Yes to overwrite Delay: 0.1 seconds Wait for File to Exist: C:\Users\terry\Dropbox\Macro Express (Sundry)\ExportedMXE.txt // In MX Explorer, select the TARGET macro to receive the copied variables Text Box Display: Select target macro Wait for Right Mouse Click Text Box Close: Select target macro Text Type (Simulate Keystrokes): i // Open the target macro in Script Editor Wait for Window Title: Macro Express Pro - Script Editor [ // Procees the exported text file, line by line. Text File Begin Process: C:\Users\terry\Dropbox\Macro Express (Sundry)\ExportedMXE.txt // Do nothing if the line does not start with '['. // If it DOES start with a right square bracket, it contains variable information which needs parsing, ready for adding to the target macro. Variable Modify String: Copy a substring in %tTextLine%, starting at 1 and 1 characters long to %tFirstChar% If Variable %tFirstChar% Does not Equal "[" // Ignore this text line Continue End If // This is a variable, but it might be one of the built-in types. If Variable %tTextLine% Contains "%T%" // Ignore this text line OR If Variable %tTextLine% Contains "%N%" // Ignore this text line OR If Variable %tTextLine% Contains "%D%" // Ignore this text line OR If Variable %tTextLine% Contains "%C%" // Ignore this text line // Then ignore this too. Continue End If // This is a variable // Locate the first colon ': ', in order to capture the variable type. Variable Set Integer %nColon% to the position of ":" in %tTextLine% Variable Modify Integer: %nColon% = %nColon% - 2 Variable Modify String: Copy a substring in %tTextLine%, starting at 2 and %nColon% characters long to %tVariableType% // Locate the first '% ' (at the end of the variable name). Variable Set Integer %nEndVariable% to the position of "% " in %tTextLine% Variable Modify Integer %nEndVariable%: Decrement // Last char in variable name // Calculate nVarStart, the first char of variable name. Variable Set Integer %nVarStart% to 0 Variable Modify Integer: %nVarStart% = %nColon% + 4 // Calculate nVarNum, the number of chars in variable name. Variable Set Integer %nVarNum% to 0 Variable Modify Integer: %nVarNum% = %nEndVariable% - %nColon% Variable Modify Integer: %nVarNum% = %nVarNum% - 3 Variable Modify String: Copy a substring in %tTextLine%, starting at %nVarStart% and %nVarNum% characters long to %tVariableName% // NOTE: Some of the labels used in the MXE are different to those in the Script Editor. string = Text integer = Integer float = Decimal control = Control handle = Handle bool = Boolean large integer = Large Integer datetime = Date/Time // NOTE: The two other variable data fields Global and Elements could also be captured at this stage. But for 99% of my work they are not used, so I've not done so. Macro Playback Speed: 0.33 times faster than normal Switch( %tVariableType% ) Case: string // Text // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): t Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: integer // Integer // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): i Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: float // Decimal // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Box Display: Text Type (Simulate Keystrokes): d Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: control // Control // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): c Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: large integer // Large integer // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): l Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: bool // Boolean // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): b Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: handle // Handle // Add the selected variable to the target macro Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): h Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case Case: datetime // Date/Time Mouse Move: 1340, 120 Relative to Screen // Variables tab Mouse Left Click Delay: 0.1 seconds Mouse Move: 1720, 1092 Relative to Screen // Add button Mouse Left Click Delay: 0.3 seconds Wait for Window Title: Variable Properties Text Type (Simulate Keystrokes): %tVariableName% Delay: 0.1 seconds Text Type (Simulate Keystrokes): <TAB> // Select Variable Type box Delay: 0.1 seconds Text Type (Simulate Keystrokes): d Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ARROW DOWN> Delay: 0.1 seconds Text Type (Simulate Keystrokes): <ENTER> // Confirm Delay: 0.1 seconds End Case End Switch Delay: 0.1 seconds Text File End Process And the code: <COMMENT Value="Export the source macro as MXE (MX Pro only, not MX3)."/> <COMMENT Value="Select the source macro containing the variables for copying across to the target macro"/> <COMMENT/> <TEXT BOX DISPLAY Title="Select source macro" Content="{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang2057{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}{\\f1\\fnil Tahoma;}}\r\n{\\colortbl ;\\red255\\green0\\blue0;}\r\n\\viewkind4\\uc1\\pard\\qc\\b\\f0\\fs20 In MX Explorer, navigate to the source macro, select it, and \\cf1 right-click\\cf0 it.\r\n\\par \r\n\\par This message will close automatically.\\f1 \r\n\\par }\r\n" Left="868" Top="485" Width="313" Height="183" Monitor="0" OnTop="TRUE" Keep_Focus="TRUE" Mode="\x02" Delay="0"/> <WAIT FOR RIGHT MOUSE CLICK Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT BOX CLOSE Header="Select source macro"/> <TEXT TYPE Action="0" Text="x" _COMMENT="Choose Export"/> <DELAY Flags="\x01" Time="0.2"/> <TEXT TYPE Action="0" Text="p" _COMMENT="Choose Playable (MXE)"/> <DELAY Flags="\x01" Time="0.2"/> <COMMENT Value="Save the MXE as a TXT file with a permanent name and path of your choice."/> <TEXT TYPE Action="1" Text="C:\\Users\\terry\\Dropbox\\Macro Express (Sundry)\\ExportedMXE.txt" _COMMENT="Choose Playable (MXE)"/> <WAIT FOR TEXT PLAYBACK Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <MOUSE MOVE Option="\x02" X="790" Y="564" _PROMPT="0x000A" _COMMENT="Save button"/> <MOUSE LEFT CLICK/> <TEXT TYPE Action="0" Text="y" _COMMENT="Yes to overwrite"/> <DELAY Flags="\x01" Time="0.1"/> <WAIT FOR FILE TO EXIST Filename="C:\\Users\\terry\\Dropbox\\Macro Express (Sundry)\\ExportedMXE.txt" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <COMMENT Value="In MX Explorer, select the TARGET macro to receive the copied variables"/> <TEXT BOX DISPLAY Title="Select target macro" Content="{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang2057{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}{\\f1\\fnil Tahoma;}}\r\n{\\colortbl ;\\red255\\green0\\blue0;}\r\n\\viewkind4\\uc1\\pard\\qc\\b\\f0\\fs20 In MX Explorer, navigate to and \\cf1 right click\\cf0 the target macro.\r\n\\par \r\n\\par This message will close automatically.\\f1 \r\n\\par }\r\n" Left="868" Top="485" Width="313" Height="183" Monitor="0" OnTop="TRUE" Keep_Focus="TRUE" Mode="\x02" Delay="0"/> <WAIT FOR RIGHT MOUSE CLICK Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT BOX CLOSE Header="Select target macro"/> <TEXT TYPE Action="0" Text="i" _COMMENT="Open the target macro in Script Editor"/> <WAIT FOR WINDOW TITLE Title="Macro Express Pro - Script Editor [" Partial="TRUE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <COMMENT Value="Procees the exported text file, line by line."/> <TEXT FILE BEGIN PROCESS Filename="C:\\Users\\terry\\Dropbox\\Macro Express (Sundry)\\ExportedMXE.txt" Start_Record="2" Process_All="TRUE" Records="1" Variable="%tTextLine%"/> <COMMENT Value="Do nothing if the line does not start with '['."/> <COMMENT Value="If it DOES start with a right square bracket, it contains variable information which needs parsing, ready for adding to the target macro."/> <COMMENT/> <VARIABLE MODIFY STRING Option="\x09" Destination="%tFirstChar%" Variable="%tTextLine%" Start="1" Count="1" NoEmbeddedVars="FALSE"/> <IF VARIABLE Variable="%tFirstChar%" Condition="\x01" Value="[" IgnoreCase="FALSE" _COMMENT="Ignore this text line"/> <CONTINUE/> <END IF/> <COMMENT Value="This is a variable, but it might be one of the built-in types."/> <IF VARIABLE Variable="%tTextLine%" Condition="\x06" Value="%T%" IgnoreCase="FALSE" _COMMENT="Ignore this text line"/> <OR/> <IF VARIABLE Variable="%tTextLine%" Condition="\x06" Value="%N%" IgnoreCase="FALSE" _COMMENT="Ignore this text line"/> <OR/> <IF VARIABLE Variable="%tTextLine%" Condition="\x06" Value="%D%" IgnoreCase="FALSE" _COMMENT="Ignore this text line"/> <OR/> <IF VARIABLE Variable="%tTextLine%" Condition="\x06" Value="%C%" IgnoreCase="FALSE" _COMMENT="Ignore this text line"/> <COMMENT Value="Then ignore this too."/> <CONTINUE/> <END IF/> <COMMENT Value="This is a variable"/> <COMMENT Value="Locate the first colon ': ', in order to capture the variable type."/> <VARIABLE SET INTEGER Option="\x0E" Destination="%nColon%" Text_Variable="%tTextLine%" Text=":" Ignore_Case="FALSE"/> <VARIABLE MODIFY INTEGER Option="\x01" Destination="%nColon%" Value1="%nColon%" Value2="2"/> <VARIABLE MODIFY STRING Option="\x09" Destination="%tVariableType%" Variable="%tTextLine%" Start="2" Count="%nColon%" NoEmbeddedVars="FALSE"/> <COMMENT/> <COMMENT Value="Locate the first '% ' (at the end of the variable name)."/> <VARIABLE SET INTEGER Option="\x0E" Destination="%nEndVariable%" Text_Variable="%tTextLine%" Text="% " Ignore_Case="FALSE"/> <VARIABLE MODIFY INTEGER Option="\x08" Destination="%nEndVariable%" _COMMENT="Last char in variable name"/> <COMMENT Value="Calculate nVarStart, the first char of variable name."/> <VARIABLE SET INTEGER Option="\x00" Destination="%nVarStart%" Value="0"/> <VARIABLE MODIFY INTEGER Option="\x00" Destination="%nVarStart%" Value1="%nColon%" Value2="4"/> <COMMENT Value="Calculate nVarNum, the number of chars in variable name."/> <VARIABLE SET INTEGER Option="\x00" Destination="%nVarNum%" Value="0"/> <VARIABLE MODIFY INTEGER Option="\x01" Destination="%nVarNum%" Value1="%nEndVariable%" Value2="%nColon%"/> <VARIABLE MODIFY INTEGER Option="\x01" Destination="%nVarNum%" Value1="%nVarNum%" Value2="3"/> <VARIABLE MODIFY STRING Option="\x09" Destination="%tVariableName%" Variable="%tTextLine%" Start="%nVarStart%" Count="%nVarNum%" NoEmbeddedVars="FALSE"/> <COMMENT Value="NOTE: Some of the labels used in the MXE are different to those in the Script Editor. \r\nstring = Text\r\ninteger = Integer\r\nfloat = Decimal\r\ncontrol = Control\r\nhandle = Handle\r\nbool = Boolean\r\nlarge integer = Large Integer\r\ndatetime = Date/Time\r\n"/> <COMMENT Value="NOTE: The two other variable data fields Global and Elements could also be captured at this stage. But for 99% of my work they are not used, so I've not done so."/> <COMMENT/> <MACRO PLAYBACK SPEED Speed="3" _ENABLED="FALSE"/> <SWITCH Variable="%tVariableType%"/> <CASE Value="string" _COMMENT="Text"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="t"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="integer" _COMMENT="Integer"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="i"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="float" _COMMENT="Decimal"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT BOX DISPLAY Content="{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang2057{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}{\\f1\\fnil Tahoma;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs16 Now add this DECIMAL variable\\f1 \r\n\\par }\r\n" Left="Center" Top="Center" Width="278" Height="200" Monitor="0" OnTop="TRUE" Keep_Focus="TRUE" Mode="\x00" Delay="0" _ENABLED="FALSE"/> <TEXT TYPE Action="0" Text="d"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="control" _COMMENT="Control"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="c"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="large integer" _COMMENT="Large integer"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="l"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="bool" _COMMENT="Boolean"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="b"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="handle" _COMMENT="Handle"/> <COMMENT Value="Add the selected variable to the target macro"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="h"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <CASE Value="datetime" _COMMENT="Date/Time"/> <MOUSE MOVE Option="\x01" X="1340" Y="120" _PROMPT="0x000A" _COMMENT="Variables tab"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.1"/> <MOUSE MOVE Option="\x01" X="1720" Y="1092" _PROMPT="0x000A" _COMMENT="Add button"/> <MOUSE LEFT CLICK/> <DELAY Flags="\x01" Time="0.3"/> <WAIT FOR WINDOW TITLE Title="Variable Properties" Partial="FALSE" Wildcards="FALSE" Indefinite="TRUE" Hours="0" Minutes="0" Seconds="0"/> <TEXT TYPE Action="0" Text="%tVariableName%"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<TAB>" _COMMENT="Select Variable Type box"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="d"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ARROW DOWN>"/> <DELAY Flags="\x01" Time="0.1"/> <TEXT TYPE Action="0" Text="<ENTER>" _COMMENT="Confirm"/> <DELAY Flags="\x01" Time="0.1"/> <END CASE/> <END SWITCH/> <DELAY Flags="\x01" Time="0.1"/> <TEXT FILE END PROCESS/> And the MEX is attached. Naturally it will require some customising for folder locations etc. -- Terry, East Grinstead, UK CopyVariablesFromSourceToTarget.mex
×