Marcus picked up the sense that I wasn’t overly impressed with Excel (Office) forms, and suggested I post about why that is. So no massive gems of insight or anything but:
- Excel forms have a lot of useful events missing compared to VB. I really struggle to get the level of control I want because of this.
- Excel forms don’t have control arrays which I find useful
- General lack of control about look and feel.
And thats pretty much it, those are the reasons I prefer to use VB6 forms (well C# .net are my favourite actually – I like that its easy to make them semi transparent, and controls can be anchored for really simple resizing).
However the bigger issue is that I tend to use a worksheet rather than a form. I find worksheets very powerful, so it annoys me when I get some crappy list box interface that is so feature poor. I tend to use the forms controls too, not the activex ones.
If I use Excel for a system then I use as much of it as I can and I try to leverage the users skills in the product too. A good example of that is the index thing here, (the workbookstructure index sheet). I could have done that as a forms thing, and it would probably have looked more ‘professional’, but I did it in a worksheet so users can sort, edit replace, group etc easily using skills they already have. Of course it also saves me writing and testing code to do all that stuff.
If I do something that is mainly forms based I would probably do it in C# or VB6 as an exe, and automate Excel in the background.
I’m not convinced either is better or worse. It could be that I am just lazy and/or poor at user interface design, but I like to dress it up as using the product as much as possible. I also tend to use workbooks with code behind rather than add-ins in a corporate setting. Mainly because its easier, even though I have menu generators etc, and it makes it easy for the user to control the opening and closing. I tend to use add-ins if I’m doing something to the activesheet/wb, but little utilities etc tend to be plain workbooks.
Whats your preference (Forms engine, UI, add-in v wb) and why?