title: Automated testing of VBA UserForms- tools and/or techniques?
body: <p>I am looking to start automated regression testing on a fairly large Excel add-in that revolves around a GUI composed of a few modal UserForms with standard controls.</p>
  
  <p>The main problem is that most of the automated testing tools I have looked into (Rational <em>Robot</em>, AutomatedQA <em>TestComplete</em>, Network Automation <em>Automate</em> etc) don't fully support the VBA controls so their tests end up replaying mouse clicks and key presses, so aren't really maintainable. Ideally I need a testing tool that recognises the VBA form controls, so I can say "press this button and wait for this listbox to change" rather than "click at (237, 58) and wait 500 milliseconds".</p>
  
  <p>I also considered building the test automation into the add-in as VBA, but most of the user's time is spent interacting with a modal dialog which stops the VBA running in the background, so that's pretty much out of the question.</p>
  
  <p>My question- does anyone here have any experience with an automated testing tool that</p>
  
  <p>a) recognises VBA user form controls and can reliably interact with them</p>
  
  <p>b) has support for test scripting with conditional branches and success/failure logging, rather than just record and playback? </p>
  
  <p>Alternatively, does anyone know of a way I can get around the problem of modal dialogs pausing VBA execution so I can drive the add-in from within VBA?</p>
  
  <p>I've spent a while looking around QA forums but haven't found anything there, so any help or leads would be appreciated.</p>
  
  <p>Thanks for your help,</p>
  
  <p>-Martin</p>