Jump to content
Macro Express Forums

Copy Until


axio

Recommended Posts

Hy guys i'm getting mad about how can i let work my macro,

Example:  "Text a - example b"

i need the copy of "Text a" and after other tasks i need the copy of "example b"

Is this possible?it should understand that when he find the "-" stops copying and starts to a clipboard fo the next paste

Ps:sorry for my bad english

thanks in advance

Link to comment
Share on other sites

Yes it can be done -- using string manipulation. There are actually several ways to do it, and Rberq has eloquently outlined one approach.

I would do it somewhat the same way:

1. Copy the text to the clipboard.

2. Copy the clipboard to a string variable, say, T1.

3. Identify the position of the hyphen with T1, which is an integer, so let's call it N1.

4. Get the length of T1, an integer, so let's call it N2.

5. To obtain the first part, copy from position 1 to N1, and place it in variable T2.

6. To obtain the second part, copy from position N1 to N2, and place it in variable T3.

 

You may need to adjust N1 and N2 to make the script do exactly what you want, e.g., N1 = N1 + 1  or N1 = N1 - 1.

Link to comment
Share on other sites

This will get you close, although this version is written in Macro Express Pro instead of Macro Express. So you will need to recreate the code from scratch.

Clipboard Copy
Variable Set String %T1% from the clipboard contents
 
Variable Set Integer %N1% to the position of "-" in %T1%
Variable Set Integer %N2% to the length of variable %T1%
 
Variable Modify String: Copy a substring in %T1%, starting at 1 and %N1% characters long to %T2%
Variable Modify String: Copy a substring in %T1%, starting at %N1% and %N2% characters long to %T3%

The code works, but it may not be quite what you want. The results, T2 and T3, each contain a hyphen and an extra space. If you want to strip out the hyphen and/or the spaces around it, you will need to add extra lines. There are several ways to do it, but I would likely use a "fudge factor" of 1 or 2, depending on whether there are spaces surrounding the hyphen in the input, and/or whether you are OK with leading or trailing spaces in the output. But let's assume 1. The extra lines will do this:

N3 = N1 - 1, and

N4 = N1 + 1.

Then calculate T2 using N3 instead of N1, and T3 using N4 instead of N1.

I hope you enjoy learning about string manipulation! The best way to learn is through trial and error experimentation.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...