关于vsto

来源:互联网 发布:淘宝网体恤 编辑:程序博客网 时间:2024/06/10 03:25

以前对office进行编程主要是采用VBA或者是com对象模型技术

VSTO是微软从office 2003开始,在vs2005中提供的一种对Office进行二次开发的方式,

目前vsto对office提供两种版本的支持:office2003 和office2007。下面就对这两种版本中的支持情况作一描述:

Office2003:

Vsto对于2003版本的支持主要是使用对象的方式进行开发,在开发中有很多的限制。如使用word对象模型对word进行开发时很难处理文档中的图片,如果想要从word文档中将图片提取出来而很困难。目前我曾经尝试了几种方式,具体如下:

1, 直接通过shape对象提取;

2,通过将文档存储成html文件,来提取(无法确定文本中图片的名称);

3,将shape对象拷贝到windows粘贴板上,再通过粘贴板将文件保存,读取文件的二进制文件(保存的图片不能够显示)

4,采用XML方式读取(word2003中的xml文件无法解析)

 

Office2007

在office2007中,vsto使用了一系列新的技术,如在菜单和按钮方面采用新的Ribbon技术,使之更加的便于修改和配置,而同时由于office2007的存储方式采用了openxml技术,因此对于以前很难实现的对文档的操作,都可以通过以XML方式进行操作。在openxml中,由于可以自定义customxml,使得其扩展性得到了更大的提高。Office2007中还提供了一系列的content control,使得可以在文档中能够方便的插入控件。另外通过将content control与customxml的绑定,可以方便的通过修改contentcontrol 进而修改customxml中的内容,或者修改customxml的内容而完成对文档显示内容的修改。