I had a discussion with my partner for the project about why I won't buy a secretary a book about Excel that does not cover Visual Basic for Applications. Granted, in my approximation at least 90% won't use VBA at all, and I don't need to use it 90% of the time. But the same goes for Perl and modules and objects. But would you trust a book that does not cover those?
Some people don't understand the analogy. They think that if you can live without it - you don't need it. But that's wrong for VBA in Excel and wrong for Modules and Objects in Perl. But why should a secretary learn VBA?
I don't say we should force to learn VBA. But just to make sure that her
Bible of Excel AFA she is concerned is a book that contains a section about it. She hears about this VBA, and she notices the book has a section, so
she reads the few pages. Guess what? It starts with a well-commented example for automating something not unlike something she always does time and time again with more than one command. So she copies the example, consults the book or the help on how to modify it and then have a working icon on the toolbar that does just that.
Next thing you know, she write VBA scripts and dialogs all over the place, automating everything in sight. And then it takes your final report 5 seconds to be prepared, instead of half an hour.
We cannot assume that people want to remain newbies forever. Some people do and I respect that. I know a hardware Q&A hacker that does not know how to build ./configure packages, or was familiar with the rpm command. (he works on RedHat). We are going to see people like that, and it is a good thing. Every successful platforms depend on a relatively small amount of absolute gurus who want and eventually do master everything, power users who know where to find things around and have guru friends, and lot of mundane users, who just use it because it's there and have to consult the power users or the gurus about everything. My partner for the project keeps telling me about various shareware apps that can implement features that existed in Linux in years on Windows. I don't remember all there names, and have to refer to him about everything.
So I know my way around Windows, but am not a guru for it, while he knows
his way around Linux and is not a guru for it. He asks me questions about UNIX and I ask him questions about Windows. It's OK, because you can't master everything at once, and I just like Linux better. (what should I do to get virtual workspaces on Windows, without installing a few freeware/shareware programs)?
My point is that by transforming an Excel power user into an Excel Guru, we can make sure that they would later make the transition from Windows Power Users to Windows Gurus, or from Linux Newbies to Linux Power Users to Linux gurus.
And don't get me started with budget. Budget is important, but you
never compensate on programs, and books. Never. Yes, a book without
VBA costs less than a book with. But a book without VBA is not a real
book about Excel. It is useful as a paper weight, and nothing more.
First of all, I think Excel is a very good spreadsheet. Granted, it does
not run on Linux, but I haven't seen anything that matches it. I haven't
tried the most recent versions of gnumeric or KSPread or that of Open
Office, so it is possible there is an open-source equivalent.
Now, this is not my general opinion on Microsoft products. I think
Windows is not as good as Linux, and I try to avoid using it whenever
possible. I stay away of Word, unless it's for very simple things (LaTeX
rocks). But Excel is excellent. I think Open-Source software can be
better than its commercial equivalent like The Gimp that eats Photoshop
for lunch without
any leftovers. (and strangely enough, I found it easier to use)
I specifically chose Excel, because it is very common out there and
because there are more books covering it that don't cover VBA, and that
these books sell more copies. If you are not planning to convert your
secretary/friend/whoever to use Linux, you should at least makes sure
she will know the importance of automating tasks with scripts. With
this understanding, he or she can understand the UNIX way-of-thinking
better.
VBA is very nice, by the way. Granted, the language is nowhere near Perl
or Python or friends. But the integration with Excel is very nice.
I'll feel queasy about asking a secretary to learn something that's better
done by (um) programmers. It doesn't feel right. A secretary shouldn't be
needing any skills other than the skill of typing. If she learns how to
code, she should be promoted (?) to the post of "code monkey".
I suspect the phenomenon of secretaries doing tasks which are better
automated stems from an organizational mindset left over from the
pre-computer era, when everything was done manually anyway. A manager who
needs a data processing task done may look at the task and think, "OK, this
can be done [even if it needs 1000 hours of human labour]", and just throw
it to the poor secretary who has to either work overtime or learn VBA, but
still gets a secretary's pay at the end.
However, if your intention is to extol the virtues of VBA to someone who
uses Excel for personal tasks, then I think it's a different matter.
Macros and scripts are really quick ways of getting things done under
Windows, for those who want to save the trouble of learning C / C++ / Java /
Perl / VB (the real thing) / etc. and getting them to integrate with M$
applications.