I want to develop and automate Office software like ‘Microsoft Excel 2007’ And ‘Microsoft Word 2007’. But I do not know how to use VBA or use C#/.Net Framework to do so.
What are the benefits of using VBA vs .Net framework?
Which one should I focus on learning?
Both, VBA and .NET have their advantages and disadvantages when it comes to Office automation. Below are just some points right from the top of my head. The list is not complete and my personal opinion, so feel free to add/remove points as you like.
Pros of .NET are
Cons of .NET
Pros for VBA are
Cons of VBA
Both have in common
When it comes to learning and getting familiar with the Office object models, VBA is surely easier to learn, especially because it is so easy to record a macro and then simply play around in the VBA editor.
The bottom line is that VBA probably is best suited for smaller projects that should be easy to deploy whereas with .NET you are able to build powerful add-ons making use of the complete .NET Framework and providing a rich user experience.