《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】的更多相关文章

  1. VSTO:使用C#开发Excel、Word【10】

    第二部分:.NET中的Office编程本书前两章介绍了Office对象模型和Office PIA. 您还看到如何使用Visual Studio使用VSTO的功能构建文档中的控制台应用程序,加载项和代码 ...

  2. VSTO:使用C#开发Excel、Word【9】

    文件背后的代码VSTO支持文档背后的代码,要求开发人员使用VSTO项目中生成的具有预连接上下文和预连接事件的类.这些类有时被称为“代码后面”类,因为它们是与特定文档或工作表相关联的代码.在Word中, ...

  3. VSTO:使用C#开发Excel、Word【5】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  4. VSTO:使用C#开发Excel、Word【4】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  5. VSTO:使用C#开发Excel、Word【2】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  6. VSTO:使用C#开发Excel、Word【1】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  7. VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式

    原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...

  8. 我的VSTO之路(三):Word基本知识

    原文:我的VSTO之路(三):Word基本知识 在前一篇文章中,我初步介绍了如何如何开发一个VSTO程序,在本文中,我将进一步深入介绍Word的插件开发.Word是一个大家在日常工作中一直接触的文档工 ...

  9. Aspose 强大的服务器端 excel word ppt pdf 处理工具

    Aspose 强大的服务器端 excel word ppt pdf 处理工具 http://www.aspose.com/java/word-component.aspx

随机推荐

  1. WIN7右键在目录当前打开命令行Cmd窗口

    Win7系统大家习惯“Win+R”的组合键打开命令提示符. 2. 通常情况下,我们点击鼠标右键是没有命令行选项的.. 3.在桌面上先按住Shift键,然后鼠标右键,出现选项“在此处打开命令窗口(W)” ...

  2. 线程---local数据隔离

    线程之间本身是数据共享的,当多个线程同时修改一份数据的时候,数据就可能不 准确,特别是线程量特别大的时候,为了保证数据准确性: (1) 通过线程锁Lock (2)通过local数据隔离 from th ...

  3. English trip M1 - AC11 May I Help You? 我能帮到你吗? Teacher:Lamb

    In this lesson you will learn to ask for things in shops  在本课程中,您将学习如何在商店中寻找东西 课上内容(Lesson) How are ...

  4. Python操作MySql --Python3

    Python版本:v3.7 模块:pymysql 1.连接数据库 connectDB.py: # coding:utf-8import pymysql host = 'localhost' # 主机u ...

  5. java读取ACCESS数据库的简单示例

    java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...

  6. Confluence 6 空间中的常用宏

    小组空间(Team Spaces): 介绍小组:User Profile Macro 将会对 Confluence 的用户显示属性的简单摘要,属性照片,联系方式. 在你小组中分享通知和新闻:The B ...

  7. vue 基础(二)

    Vue对象提供的属性功能 一.过滤器 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 1. 全局过滤器 Vue.filter 写在vm 对象外.必须要有 ...

  8. CentOS7 安装Nginx 1.14:

      nginx-1.14.2.tar.gz:下载:wget http://nginx.org/download/nginx-1.14.2.tar.gz 安装nginx:   yum  install  ...

  9. Android BottomNavigationBar底部导航控制器的使用(包含默认postion的设置)

    转载请标明出处:http://blog.csdn.net/u010046908/article/details/50962081本文出自:[李东的博客] 最近Google在自己推出的Material ...

  10. python记录_day22 序列化

    序列化是指把内存里的数据类型转换成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘和网络传输时只能接受bytes 一.pickle 把python对象写入到文件中的一种解决方案,但是写入到文件 ...