ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: msroom

关于EXCEL的保存(VSTO开发)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-12-4 09:05 | 显示全部楼层

以前对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的内容而完成对文档显示内容的修改。

Orcas:

Visual Studio 2008代号为Orcas,其测试版正在进行测试,今年可能有望发布。VSTO是一组强大的工具,允许开发人员使用Visual Basic和C#来扩展和自定义Microsoft Office应用程序。“Orcas”版本的VSTO将为开发人员提供更多的功能,可将代码开发与Microsoft Office及Microsoft Office SharePoint进行集成,还提供了功能区可视化设计器,可以通过使用简单的、类似Windows窗体的编程模型来自定义Office功能区和程序。
VSTO提供了针对Word 2007和Excel 2007的可视化设计器,允许文档充当可视化设计界面,使创建强大的、基于文档的解决方案变得非常简单。例如,使用新的Word内容构件构造Word 2007文档的功能、完全支持对ADO.NET样式数据绑定、从数据源窗口拖放数据,等等。
在 VSTO“Orcas”中,自定义 Office 功能区的方法有两种。第一种类似于 Microsoft Visual Studio 2005 Tools for Office Second Edition (VSTO 2005 SE),即通过使用 XML 类和定义,可以定义工作区的元素,然后通过回调代码将功能区元素与事件处理程序关联起来。第二种方法就是使用功能区设计器。功能区设计器包括一个可视化设计器和一个可扩展对象模型,使开发人员在创建、配置和调试功能区用户界面时变得直观简单。和其他可视化设计器一样,可以将控件拖放至设计界面、使用“属性”窗口设置属性,通过双击这些控件为新的功能区项轻松创建事件处理程序。而且,Office 回调会被映射至VSTO功能区对象上的事件,这样开发人员可以编写事件处理程序,而不是回调方法。
Orcas中的VSTO使得由VBA转变为.NET更加简单,更具吸引力。除了VSTO自身的独特功能和优势外,VSTO的另一项优秀功能是能够与VBA共同使用,例如,使用VSTO可以轻松扩展VBA代码。VSTO与VBA进行通信的第一种方式是由VSTO调用VBA的函数,而第二种方式则是由VBA调用VSTO的函数。
(以上摘选自《MSDN Magazine》)

新技术发展得太快了,VS 2005还在摸索,VS 2008又将推出,真是让人应接不暇。但是也不必过于茫然,因为我觉得VBA也好,VSTO也罢,它们只不过是Excel的工具罢了,也就是说,Excel是工具,它们是更好地利用和开发Excel的工具,但核心还是Excel的数据处理和分析能力、Excel的报表能力。

[此贴子已经被作者于2007-12-4 9:10:46编辑过]

TA的精华主题

TA的得分主题

发表于 2007-12-4 09:19 | 显示全部楼层
QUOTE:
以下是引用msroom在2007-12-4 8:55:20的发言:
谢谢,能推荐一本书么?

看帮助文件

TA的精华主题

TA的得分主题

发表于 2007-12-4 09:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

Visual Studio 2005 for Office 开发工具 Professional VSTO 2005: Visual Studio 2005 Tools for Office

  • 定价:361当当价:285.2 元折扣:79节省:75.80
  • TA的精华主题

    TA的得分主题

     楼主| 发表于 2007-12-7 18:54 | 显示全部楼层
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    手机版|关于我们|联系我们|ExcelHome

    GMT+8, 2024-11-21 19:02 , Processed in 0.036630 second(s), 8 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4

    © 1999-2023 Wooffice Inc.

    沪公网安备 31011702000001号 沪ICP备11019229号-2

    本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

    快速回复 返回顶部 返回列表