VSTO:使用C#开发Excel、Word【3】
《Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath 》——By Eric Carter, Eric Lippert
前言
在2002年,Visual Studio .NET和.NET Framework的第一个版本即将完成。我们中的几个意识到微软的.NET将会错过Office,除非我们做了一些事情。
以前曾经是Visual Basic for Applications(VBA),这是一个集成到所有Office应用程序中的简单开发环境。每个Office应用程序都有一个丰富的对象模型,通过一种称为COM的技术访问。数以百万计的开发人员将自己定义为“Office开发人员”,并使用VBA和Office COM对象模型,从自动化重复任务到创建完整的业务解决方案,利用Office的丰富功能和用户界面。这些开发者意识到他们的用户在Office上度过了一天。通过构建在Office内部运行的解决方案,他们不仅使用户满意,还通过重用Office应用程序中已经提供的功能,创建了更多,成本更低的解决方案。
不幸的是,由于VBA的一些限制,Office编程开始得到一个坏的评论。 VBA中由小型工作组或个人开发的解决方案将获得势头,专业开发人员将不得不采取措施,开始支持他们。对于专业开发人员来说,VBA环境感觉很简单和有限,当然,它也实现了一种单一的语言:Visual Basic。 VBA嵌入式代码在每个自定义文档中,这使得很难修复错误和更新解决方案,因为错误会被复制到整个企业的文档中。 VBA模型的安全漏洞导致了企业将蠕虫和宏病毒的VBA关闭。
Visual Studio .NET和.NET Framework提供了一种解决所有这些问题的方法。存在巨大的机会不仅将新的.NET Framework和开发人员工具的丰富性与Office一直为开发人员提供的强大平台相结合,还解决了困扰VBA的问题。这个实现的结果是Visual Studio Tools for Office(VSTO)。
VSTO的第一个版本很简单,但它实现了让专业开发人员利用Visual Studio .NET和.NET Framework的全部功能将代码放置在Excel 2003和Word 2003文档和模板的关键目标。它让专业开发人员在VB.NET和C#中开发Office解决方案。它通过将文档链接到.NET程序集而不是将其嵌入到文档中来解决嵌入式代码的问题。它还引入了一种使用.NET代码访问安全性来防止蠕虫和宏病毒的新安全模型。
VSTO的第二版,被称为VSTO 2005,这本书涵盖的VSTO版本更加雄心勃勃。它带来了Office开发人员以前无法使用的功能,例如数据绑定和数据/视图分离,Visual Studio中Excel和Word文档的设计时视图,对文档中Windows Forms控件的丰富支持,创建能力自定义Office任务窗格,针对Officeand的服务器端编程支持,这只是划伤表面。虽然VSTO的主要目标是专业开发人员,但这并不意味着使用VSTO构建Office解决方案是火箭科学。 VSTO可以通过几行代码创建非常丰富的应用程序。
本书尝试将使用VSTO成功的所有信息放在一个位置,以便对Word 2003,Excel 2003,Outlook 2003和InfoPath 2003进行编程。它引入了Office对象模型,并涵盖了这些对象模型中最常用的对象。此外,本书还将帮助您避免Office对象模型的COM起源产生的一些陷阱。
本书还提供了VSTO所有丰富功能的内部人士观点。我们参与了许多这些功能的设计和实现。因此,我们可以从过去三年的VSTO生活和呼吸的独特角度讲话。使用VSTO的编程办公室功能强大而有趣。我们希望您喜欢使用VSTO,就像我们喜欢的文章一样,并且创建它。
Eric Carter
Eric Lippert
2005年5月
VSTO:使用C#开发Excel、Word【3】的更多相关文章
- VSTO:使用C#开发Excel、Word【10】
第二部分:.NET中的Office编程本书前两章介绍了Office对象模型和Office PIA. 您还看到如何使用Visual Studio使用VSTO的功能构建文档中的控制台应用程序,加载项和代码 ...
- VSTO:使用C#开发Excel、Word【9】
文件背后的代码VSTO支持文档背后的代码,要求开发人员使用VSTO项目中生成的具有预连接上下文和预连接事件的类.这些类有时被称为“代码后面”类,因为它们是与特定文档或工作表相关联的代码.在Word中, ...
- VSTO:使用C#开发Excel、Word【5】
<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...
- VSTO:使用C#开发Excel、Word【4】
<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...
- VSTO:使用C#开发Excel、Word【2】
<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...
- VSTO:使用C#开发Excel、Word【1】
<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...
- VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式
原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...
- 我的VSTO之路(三):Word基本知识
原文:我的VSTO之路(三):Word基本知识 在前一篇文章中,我初步介绍了如何如何开发一个VSTO程序,在本文中,我将进一步深入介绍Word的插件开发.Word是一个大家在日常工作中一直接触的文档工 ...
- Aspose 强大的服务器端 excel word ppt pdf 处理工具
Aspose 强大的服务器端 excel word ppt pdf 处理工具 http://www.aspose.com/java/word-component.aspx
随机推荐
- RabbitMQ消息发布时的权衡
在进行本篇文章的学习之前,你需要先阅读 https://www.cnblogs.com/duanjt/p/10057330.html.以便对Java访问RabbitMQ的基础用法有所了解. 一.失败通 ...
- TCHART FROM DATATABLE
using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System. ...
- 中心极限定理 | central limit theorem | 大数定律 | law of large numbers
每个大学教材上都会提到这个定理,枯燥地给出了定义和公式,并没有解释来龙去脉,导致大多数人望而生畏,并没有理解它的美. <女士品茶>有感 待续~ 参考:怎样理解和区分中心极限定理与大数定律?
- R中的高效批量处理函数(lapply sapply apply tapply mapply)(转)
转自:http://blog.csdn.net/wa2003/article/details/45887055 R语言提供了批量处理函数,可以循环遍历某个集合内的所有或部分元素,以简化操作. 这些函数 ...
- python3-知识扩展扫盲易忘-generator的用法
前部分转自: https://www.cnblogs.com/Tsukasa/p/6613934.html 通过列表list生成器,我们可以直接创建一个列表 ? 1 2 3 >>> ...
- CF-825E Minimal Labels 反向拓扑排序
http://codeforces.com/contest/825/problem/E 一道裸的拓扑排序题.为什么需要反向拓扑排序呢?因为一条大下标指向小下标的边可能会导致小下标更晚分配到号码,导致字 ...
- P2375 [NOI2014]动物园
考虑kmp. 这个题的主要问题就在于怎样使复杂度是正确的O(n). 可以先预处理一个数组cnt[]表示不考虑不能相交这个限制,有多少个border. 这个东西其实也就是fail树上的深度. 然后考虑怎 ...
- spring boot(十三)小技巧
一些springboot小技巧.小知识点 初始化数据 我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用Jpa,另外一种是Spring JDBC.两种方式各有区别下面 ...
- 关于.babelrc中的stage-0,stage-1,stage-2,stage-3
文章链接:https://www.cnblogs.com/chris-oil/p/5717544.html
- Android之Activity生命周期详解
Activity的生命周期方法: onCreate()--->onStart()--->onResume()--->onPause()--->onStop()--->on ...