Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
356 views
in Technique[技术] by (71.8m points)

.net - Beginning VSTO Development

I'm quite confused with what are the necessary tools for VSTO develpment. Specifically I want to manipulate Excel 2003/2007 documents programmatically. I did quite a lot of VBA before, if you want to relate any answer to that.

Few questions I have about VSTO:

  1. Can I use Visual Studio 2008 Express Edition C#/C++ for this?
  2. Do I need to have .NET framework installed?
  3. Does the resulting VSTO program need to have a copy of Office installed in the same system to run?

Direct links to the relevant tools/plugins/IDE will be appreciated.

Note: I'm totally new to VSTO and .NET but an Office power user. I have experience with COM programming.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Yeah, it can get confusing, especially given the skip-level naming conventions, etc. Essentially, you'll need:

  • Full version (not Express) of Visual Studio and the .NET version you're targetting.
  • One of the VSTO run times (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). For what your asking, VSTO 2005 SE is probably your best bet.
  • When distributing your app, you'll need more, like the PIAs and the .NET version you've targetted. For VSTO 2010, you don't need the PIAs (just what you're using will be packaged with your app automatically).

A couple of tips:

  • Going from the VBE inside of Office to VSTO should be a smooth-ish move if you've used .NET to much extent.
  • The VSTO versions of the object models for any given program (Excel, PowerPoint, etc.) there may be a few more ways of doing things that are different/better than in the VBA version of the object model. For example, the Bookmark control for Word in VSTO 2008 is not the same as the one that is native to one accessed via VBA.
  • Distributing your app can be a pain. This is the very reason that that VSTO for Visual Studio 2010 does not require you to include the full interop (PIA) files with your package.
  • Targetting different versions of Office with the same solution is not officially supported for pre-VSTO 2010. There are ways around this issue that some folks have talked about, but you won't get much support from MSFT on it.

There are some sites that you should take a look at:

Finally, to save the best for last, this is the book I read when I was just starting out and it was very helpful: VSTO for Mere Mortals(TM): A VBA Developer's Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...