Continuation of an earlier post: http://www.meyerwebsite.com/macroexpress-and-libraries/.
In addition to the “simple” commands like text expansion and automating simple commands, Macro Express can also be used to perform very complicated tasks across different platforms and sources. Rather than outlining all possible options – a task I’m not qualified to do! – I’ll focus on a basic workflow that I use frequently. I think of it as “working through a list.” This is a way to automate some of the most repetitive tasks for managing bibliographic records.
Background
This process works best when you have two things:
- A clearly defined list of records that need to be changed/updated/moved/deleted.
- A clearly defined process to perform.
By “clearly defined” I mean defined with mathematical precision; Macro Express takes things very literally and you have to be precise. It’s also helpful to imagine all possible cases to anticipate problems along the way. Let’s look at each step in turn.
A Clearly Defined List
To start, you will need a clearly defined list. Thing like system supplied ID number for bib records, MFHDs, items, or patrons are ideal; ISBNs, ISSN, and exact name might seem good enough but they usually cause problems.
I generate almost all of these lists through the reporting side of Voyager and have started always including the system supplied ID numbers. Depending on the nature of your query, you may need to de-duplicate this list.
A Clearly Defined Process
I’ll share my general approach and then some tips and tricks. My process is usually to set my mouse aside and try accomplish what I need to do using only keyboard shortcuts. MacroExpress can control the mouse…but this always seemed very problematic; keyboard shortcuts are the way to go. Start the process with the ID number of a record to change on your clipboard. As you go, write down you commands on a pad of paper in sequential order. This will take some time.
A Recipe
Text File Begin Process: "filename.txt" Activate Window: "Name of ILS system" Wait For Window: "Name of ILS system"
This set of commands starts reading a text file (one that contains all of the system ID numbers) and activates the window you want to use.
Next, bring up your search window and search by that system number. Do this by using the “Text Type” command in MacroExpress and following your paper notes. You may have to incorporate some “Delays” to give your machine time to keep up. This should bring up the record you want to look at.
Do something! Ideally, you’ll write more MacroExpress code to automate the process totally.
However, a very simple option and one that is useful in complicated situations is to simply add the following command.
Wait for Key Press: <something weird>
Replace <something weird> with a key that you are unlikely to use in that process. Now you have a macro that brings up a record and waits… waits until you make and save a change, waits until you inspect it, just waits. You can set a time-out requirement if that is helpful.
Lastly, write some text type functions that will close and save the record you are working on. I also like to use the following command to keep a record of my work
Variable Modify String: Append %T1% to Text File
This copies the system ID number from the original text file and appends it to a new text file that will list all the records changed in the process.