Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Best Excel Development Architecture? VSTO vs. VBA vs. VB.Net/C#.Netvs. ???
Hi,
First of all, I'm an experienced programmer in a few languages, including C#, but have not yet learned VBA or VB.Net beyond rudimentary code. However, my new employer is a heavy user of Excel, and it would behoove me to learn to maximize its capabilities. I've read a number of web articles indicating that VSTO is the successor to VBA. However, I've also read it does not work with Visual Studio Express. Is this still the case with VS Express 2010? If so, then Microsoft wants me to use VSTO in favour of VBA, yet wants me to spend $$$ for the high end VS Suite? I don't understand this marketing - I would think it would limit the uptake of VSTO? There is no way I will get justification to buy VS just to use VSTO vs. VBA. I've also read he http://groups.google.com/group/micro...c3 0ee38f2b52 that VBA can be used to call a .dll. Given the above, what would you recommend as the best architecture for me to learn to automate Excel's capabilities? Thanks, Scott |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Best Excel Development Architecture? VSTO vs. VBA vs. VB.Net/C#.Net vs. ???
I would suggest you start programming directly within Excel's VBA IDE.
This will give you more speedy results, allow you to use the macro recorder to learn how its objects, methods, properties, and collections work, AND you can test code on the fly more easily/readily during development. As far as your assertion that VSTO is M$'s replacement for VBA goes, that's never going to happen! VBA has been upgraded for x64 and so I expect they plan to continue with it as the default macro language for M$O apps. If you want some good reference material for serious application development in the Excel platform then check these out: http://www.appspro.com/Books/Books.htm In any case, you'll have to learn Excel's object model if you expect to achieve any competent level of automation skill as your employer expects. Once you're familiar with developing directly in VBA then maybe you'll want to resort to automating via some other language. DLLs are a good idea (in any language). VBA projects support their use via References to registered COM objects/libraries. A word of advice regarding x64 versions and x32 versions; you need to develop x64 VBA in Excel x64 edition, and x32 VBA in Excel x32 edition. In the latter case, always develop in the earliest version you expect your users will use your project with. HTH -- Garry Free usenet access at http://www.eternal-september.org ClassicVB Users Regroup! comp.lang.basic.visual.misc |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Best Excel Development Architecture? VSTO vs. VBA vs. VB.Net/C#.Netvs. ???
Garry's right. Start with straight Excel VBA. VSTO and .Net might be the
"modern" way to automate Excel from without, but it adds significant overhead and footprint, and are generally overkill for projects that only require automation within Excel. And even if you migrate to .Net, your VBA experience with the object model will be invaluable. VBA will live for a long time. The ancient XLM language was introduced in Excel 4 back in the early '90s and is still supported in Excel 2010. The VBA language has been upgraded to support 64-bit, though they haven't done squat with the IDE since (I think) Excel 97. I have heard rumors of .Net being integrated into some future version of Office, something called VSTA ("A" for applications), but I don't know when. I think the rumors said VSTA and VBA would coexist. There is so much legacy VBA in the business world that Microsoft will be forced to support VBA for another generation, I think generation of programmers, not generation of Office. I'm planning to retire while still working on VBA. - Jon ------- Jon Peltier Peltier Technical Services, Inc. http://peltiertech.com/ On 7/12/2010 9:59 PM, GS wrote: I would suggest you start programming directly within Excel's VBA IDE. This will give you more speedy results, allow you to use the macro recorder to learn how its objects, methods, properties, and collections work, AND you can test code on the fly more easily/readily during development. As far as your assertion that VSTO is M$'s replacement for VBA goes, that's never going to happen! VBA has been upgraded for x64 and so I expect they plan to continue with it as the default macro language for M$O apps. If you want some good reference material for serious application development in the Excel platform then check these out: http://www.appspro.com/Books/Books.htm In any case, you'll have to learn Excel's object model if you expect to achieve any competent level of automation skill as your employer expects. Once you're familiar with developing directly in VBA then maybe you'll want to resort to automating via some other language. DLLs are a good idea (in any language). VBA projects support their use via References to registered COM objects/libraries. A word of advice regarding x64 versions and x32 versions; you need to develop x64 VBA in Excel x64 edition, and x32 VBA in Excel x32 edition. In the latter case, always develop in the earliest version you expect your users will use your project with. HTH |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Architecture Question | Excel Programming | |||
RTD server architecture - single topic update | Excel Programming | |||
Progamatically Formating Cells within VSTO for Excel Application Development using C# | Excel Programming | |||
.NET, CAS and Excel Development | Excel Programming |