1. Unicode VBA
Seriously, Microsoft, what part of “internationalisation” and “Unicode” did you not understand? Unlike your majority of US-based coders, we Asians often need to work with multiple languages. Just Japanese+Chinese+English is enough to completely break the programming experience in Office 2007. Yes, it was 2006, but that’s no excuse to stick with code-page stupidity when the Apple and Linux people had moved almost anything-GUI to Unicode already.
Nobody wants to switch regional settings and reboot the computer just to set a couple of fucking button captions in VBA, m’kay?
2. One, Unified Set of Widgets
Just who decided to have Form Controls and ActiveX Controls? Tell you what, chances are that, if a geek like me can’t be bothered to learn about two different sets of widgets, most users can’t be bothered either.
3. A Real-Programmer-Style VBA Reference
A bunch of disconnected explanations about Ranges and shit is not what I call a “reference.” Just because you call it “VBA” and “macro” programming doesn’t give you an excuse to disregard types. You may document the VBA object model as though type-safety does not matter, but the VBA runtime would still give me a big, obvious “Your types don’t match. You are stupid. And I won’t tell you what type you gave me either. Now fuck off and get lost.” when I don’t give it the type it expects because, hey, you guys never told me what exact type that method returned.