Improving NVivo with AutoHotKey: Faster Attribute Values Input Script



The core component of the fieldwork for the Welfare Conditionality research project is an on-going three waves of qualitative interviews with 481 welfare service users sampled across nine different policy area. In order to assist with descriptive statistics and finding subgroups amongst our sample, we have a set of key attributes such as the participant’s age, household, benefits received,  etc. Furthermore, we have additional attributes specific to each policy area. Due to this, we have around fifty attributes in total that need values entered for them after each interview. By default NVivo offers three main ways to add attribute values, none of which are ideal for working with this amount of data entry.

The primary means of adding attribute data in NVivo is through the Attribute Values tab of the Node Properties dialogue window. This presents a list of drop-down menus for each of the attributes and can be laborious to work through. Similar to this is opening the Classification sheet and working along the row for the participant. In addition to having the same problem of developing RSI as the first method, this method has become nearly impossible to use as our project file has grown larger. Any change to an attribute value with the Welfare Service User classification sheet open now results in a 1-2 minute wait for NVivo to process the change. The third option is to save attribute data to an excel sheet and import it into NVivo. This introduces its own problems with ensuring values are typed correctly or setting up the excel sheet with acceptable values defined for each column, and still does not make any real time savings with the data entry process.

The above video is an example of using a script I wrote in AutoHotKey in order to provide another alternative. The script translates the keypresses on the numpad into a series of keypresses that select the desired attribute value and then moves focus to the next attribute. For example, if the second value for the selected attribute is ‘Unemployed’, pressing ‘2’ on the numpad would set the value to ‘Unemployed’ and move the focus to the next attribute so the user can press another numpad key to input the next attribute value. Alongside using post-interview checklists that have the number written next to each value, it greatly reduces the amount of time required for data entry. Further details about the script and how to use it are included below. The script file and an executable version of it are available from a Github repository.

NVivo Faster Attribute Values Input Script

AuotHotKey script that enables the ability to input attribute values using the numpad on the keyboard. Helps to dramatically speed up data input when working with a lot of attributes.

Starting the script

Script can be run either by opening the exe file or, if AutoHotKey is installed, by opening the script with AHK.

Using the script

On starting a help message will display giving an overview of how to use the script. It can be accessed again at any time whilst the script is running by pressing F12.

To enable the hotkeys please press the Windows key and ‘p’ together.

Once active, rather than right-clicking on a source or node and selecting source or node properties, please left-click on it once so it is selected then press win+p again.

Please wait for the first part of the script to run, and importantly, please don’t press any additional keys during this time. The script will open the node properties, shift to the attributes tab, and select the value field for the first variable.

Each number on the numpad will select the corresponding attribute value. For example, if after ‘Not Applicable’ and ‘Unassigned’ the second value is “Turner” then numpad 2 will set the value to “Turner” and move the selection to the next attribute value field. If using a questionnaire to collect attribute values during fieldwork it might be helpful to number the values on the questionnaire so they match the order they appear in within NVivo.

Pressing enter on the numpad will skip back up one attribute, handy if you accidentally chose a wrong value. On occasion, when entering the first attribute value, the script will pick the wrong value if this happens press enter on the numpad to reselect the first value, press the number key again, and the script should work as expected again. Additionally, pressing the plus on the numpad will skip to the next attribute. Pressing star on the numpad will set the attribute value to Not Applicable. Finally, pressing subtract on the numpad will return the attribute value back to unassigned.

NVivo for boolean attributes places the No value before the Yes value meaning that they are the opposite way around than you might expect.

For age and other integer values, please use the number keys on the top of the keyboard to enter the participant’s age then press the plus on the numpad to move to the next attribute and resume using the numbers on the numpad- using the keys on the numpad for trying to input age will result in the script selecting a random age from those already entered.

Changing the default sleep timer and number of attributes to skip

Pressing the Windows key and ‘o’ together will bring up an options menu that can be used to set the sleep timer and the number of attributes to skip. The first is useful if NVivo is running slow to allow a wait period in between opening the node properties and moving  the selection focus to the attribute values. It is recommended to set the value for the sleep timer to 1 at the least. The second is useful if, for example, you are adding attributes for a second or third wave of interviews and you would like to skip all the attributes from the first wave so that the focus moves straight-away to where the second wave attributes start.

Exiting, pausing, and quitting

Pressing the Windows key and enter on the Numpad together will exit the faster attribute input mode.

Pressing ‘pause’ at any time (located top right of the keyboard) will pause the script and stop the hotkeys from working and pressing it again will reactivate the script.  Pressing the Windows key and ‘q’ together at any time (when the keys are not paused) will force the script to close and will need to be double-clicked to run again.

Examples / Screenshots

Node selected before pressing Windows key and ‘p’ together:

After hitting winkey+p – Node properties open with first attribute’s value field selected, now ready for using numpad to enter attribute values:

Using the options menu (winkey+o) to set the options and set to skip seven attributes:

Example of after hitting winkey+p if the options menu has been used to skip to the inital and wave a attributes (Skip Attributes = 7):


Leave a comment