Frank Posted June 9, 2023 Report Share Posted June 9, 2023 I have a command that is IF CLIPBOARD CONTAINS... When I run my macro I want to know if the clipboard contains text. sometimes I want to know if it contains TEXT1 or TEXT2 or TEXT3... I set the macro to prompt for the value and set / store as a variable... Do I have to prompt 3 times and store as 3 different variables? Or is there a format to enter the test so that ME knows what I am looking for? ie. I want to see if clipboard contains ABC or DEF or GHI. When prompt 1 comes up can I enter ABC Prompt 2 DEF etc... MY HANGUP IS... IF I create the macro so that it prompts 3 times and I only have two identifiers (ABC and DEF) when I leave the third prompt blank is that going to set off a false positive to the macro because my code would read IF CLIPBOARD CONTAINS VAR1 (ABC) OR IF CLIPBOARD CONTAINS VAR2 (DEF) OR IF CLIPBOARD CONTAINS VAR3 (I left blank at prompt) The macro would read VAR3 as blank and every clipboard copy would have blank space Is there a clean / neat way to put in multiple values for IF CLIPBOARD BONTAINS? I hope this makes sense... F Quote Link to comment Share on other sites More sharing options...
rberq Posted June 9, 2023 Report Share Posted June 9, 2023 In your example, you don't know if VAR3 will have a blank space or will be null. I don't know either. Try your prompt in a test macro, then use TEXT BOX to display >>>%VAR3%<<<. If the display shows as >>> <<<, you know it is blank. If the display shows as >>><<< then VAR3 is null. If VAR3 is blank after the prompt, you can use VARIABLE SET STRING to set it null -- just enter nothing in the value field of VARIABLE SET STRING. Next thing to check, in a test macro, is what happens when you say (with VAR3 null) IF CLIPBOARD CONTAINS %VAR3% .... Again, display your result with a text box. IF CLIPBOARD CONTAINS %VAR3% TEXT BOX DISPLAY "Contains null" ELSE TEXT BOX DISPLAY "Does not contain null" Sometimes it is not obvious how Macro Express will work, and if you can't find your situation in the Help section, testing like this is the quickest way to figure it out. Quote Link to comment Share on other sites More sharing options...
Cory Posted June 9, 2023 Report Share Posted June 9, 2023 There's no multi-field input box. If you loop you can use the text or cancelation to end the loop. Like if it's empty, the user types "cancel", or you can use the "On Error" to handle the "Dialog was cancelled" exception. Depending on how many you want, I would use the multiline version of the Variable Set prompt command and then split each into a different variable. COunt how many there were and save that in a variable to control whatever loops you're using later. The variables shoudl then be saved as an array variable. Define it to be 99 elements or whatever you think sufficient. THis is a good opportunity to suggest you create your own named variables and not use the legacy "T" variables. Quote Link to comment Share on other sites More sharing options...
Frank Posted June 9, 2023 Author Report Share Posted June 9, 2023 Ok, Lets start by saying if you guys keep this up I am going to owe ALOT of dinners!!! (just let me know when you are in the Chicagoland area!!!) Thanks for the suggestions. I actually do like to TEST things out... I hope that is obvious by me including my commands in my posts (I am not looking for someone else to do the work...) but when a test doesn't go well, I am not sure why and if the mistake is something that I was missing ie an unknown command or something stupid that I entered wrong. I do appreciate the advice and I will be in front of the computer ALL WEEKEND LONG... as Arnold said... I'LL BE BACK!!!😄 Thanks F 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.