zoukankan      html  css  js  c++  java
  • [VSTO] VSTO 从零开始

          之所以接触这个solution是因为manager要做一个基于excel的二次开发,网上查了查发现这个东西确实很强大,有了.NET Framework的支持,相对于以前的VBA,程序无论在robustness还是security上都有很大的进步。只是这方面的资料真的很少,特别是中文的,msdn上也往往是寥寥数语,所以希望自己摸索和在网上扒拉的东西能对来这里的人有帮助吧,如有指教,欢迎留言。
          先感谢下Paladin.lao 博友,热情地帮我解决VSTO方面的疑问。
          VSTO笔记从下面开始: 
    -----------------------------------------------------------------------------------------------------------------------------------------------
    (一) 介绍
    我们通常有三种方法来对Excel进行再开发:
    一是扩展插件(AddIn)。这是开发Excel用户自定义函数的首选。
    二是VSTO(Visual Studio Tool for Office)。这是开发Excel内嵌功能的首选(例如按钮、菜单等等)。
    三是RTD(Real Time Data)。这是开发Excel实时数据应用程序的首选。 (摘自计世网商用软件频道 原文链接:http://soft.ccw.com.cn/programing/other/htm2008/20080926_509725.shtml)
    对于那些对界面要求比较高的需求,比如需要增加按钮,浮动工具条,或者2007的Ribbon,VSTO是首选,VSTO采用Visual Studio为平台,语言一般VSTO用C#和VB。对于VS 2005,新建工程时只有VB和C#提供VSTO的模板。Addin 更多是作为函数库被EXCEL调用,可以用C++编写。 
    下面从VSTO工程的建立开始讲起。
    (二) 工程的新建

    在Visual Studio平台下, C#语言选项中,可以看到Excel Workbook模板,在Visual Basic下也可以看到类似的模板(Figure 1)

     

                                                                     Figure 1

      随后选择excel文件,在这里要说明的是,VSTO开发后生成的“程序”就是一个xls文件,这个xls不是最后发布才有的,而是在工程创建时就要建立。开发者可以新建一个xls,也可以在其他已经存在的xls的基础上进行开发(Figure 2)。大多数情况下,需求中常常需要已有的xls中的数据,并基于此进行操作,所以选择后者的比较多。

     注意:选择基于已有的xls文件并不是基于原文件做开发,而是将此文件复制到工程目录下,基于副本开发。

       

                                                         Figure 2

    之后就是工程的开发界面了,我们可以看到在solution管理页中,xls文件中的每个sheet都对应着一个项(Figure 3),开发者可以对其进行独立地界面设计和功能代码编写。每个sheet有自己的startup和shutdown函数,整个工程也有自己的startup和shutdown,运行时先执行工程的startup,再执行各个sheet的startup。

                         

                                     Figure 3

    在Figure 3中,工程项目外,还有两个.cs,一个MyUserControl,一个WinForm,这两个是我后来添加的控件。虽然在每个sheet的设计界面,用户可以加入控件,但是供选择的控件很有限,尤其缺乏容器类控件,另外,在sheet中添加的控件只能在该sheet中才能看到,所以VSTO的界面设计常常需要引入自定义控件和自定义窗口,并动态调用,使得界面更加灵活。具体以后会总结。

    (三) 最后列出几本VSTO方面为数不多的参考资料。

     中文版: VSTO 编程指南 (Eric Carter著)    ——   很多人推荐的参考书,本人也买了本,但是这本书讲的比较宽泛,各个方面都点到了,但是细节上没有谈及。所以对于编程中遇到的一些比较具体的问题帮助有限。另外,它只提供VB的代码。

    英文版: Visual Studio Tools for Office(Eric Carter著)  ——  VSTO 编程指南的英文版,批注同上。

                Professional VSTO 2005(Alvin Bruney著)  ——  虽然不厚,但是在主要的方面讲解的比较深入,在某些方面给了我很大帮助,而且它提供VB 和 C#两种代码。 提供下载如下:

                Professional vsto 2005.pdf

     -------------------------------------------------------------------------------------------

    66℃绿茶空间原创,转载请注明出处,感谢博客园! 

  • 相关阅读:
    【转】《基于MFC的OpenGL编程》Part 5 Transformations Rotations, Translations and Scaling
    【转】 《基于MFC的OpenGL编程》Part 10 Texture Mapping
    【转】 《基于MFC的OpenGL编程》Part 11 Blending, Antialiasing and Fog
    win form 托盘功能的实现(引用CSDN)
    C# win form退出窗体时对话框实用
    智能DNS 笔记
    iis无法启动, 找出占用80端口的罪魁祸首
    gvim for windows的剪贴板操作
    内容交换
    Content Networking 读书笔记
  • 原文地址:https://www.cnblogs.com/felixfang/p/1800797.html
Copyright © 2011-2022 走看看