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

前言
在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,就像我们喜欢的文章一样,并且创建它。

埃里克·卡特
埃里克Lippert
2005年5月

时间: 2024-08-03 19:24:26

VSTO:使用C#开发Excel、Word【3】的相关文章

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

文件背后的代码VSTO支持文档背后的代码,要求开发人员使用VSTO项目中生成的具有预连接上下文和预连接事件的类.这些类有时被称为"代码后面"类,因为它们是与特定文档或工作表相关联的代码.在Word中,与文档对应的类后面有一个代码.在Excel中,工作簿中的classone有多个代码,工作簿中的每个工作表或图表工作表都有一个代码. 您的代码在文档项目后面的VSTO代码中第一次运行时,当Office引发由为您创建的类后面的任何代码处理的Startup事件. VSTO通过您正在编写代码的类的

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

第二部分:.NET中的Office编程本书前两章介绍了Office对象模型和Office PIA. 您还看到如何使用Visual Studio使用VSTO的功能构建文档中的控制台应用程序,加载项和代码. 本书的第二部分更深入地介绍了Office对象模型. 如果您只对Excel开发感兴趣,请阅读第3章至第5章.如果您只对Word开发感兴趣,请阅读第6章至第9章.如果您只对Outlook开发感兴趣,请阅读第7章至第11章.如果您只感兴趣 在InfoPath开发中,阅读第12章. 第3章  Excel

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

<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >--By Eric Carter, Eric Lippert 概观"随着应用开发社区如此专注于智能客户端革命,一本涵盖从A到Z的VSTO的书是重要和必要的,这本书有很大的期望,它是彻底的,有大量的示例代码,涵盖了Office编程一般术语可以是多年来专注于ASP.NET应用程序的经验丰富的.NET开发人员的外部话题.感谢

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

第一部分:VSTO介绍本书的第一部分介绍了Office对象模型和Office主互操作程序集(PIA).您还将学习如何使用Visual Studio使用Visual Studio 2005 Tools for Office(VSTO)的功能来构建文档后面的自动化可执行文件,加载项和代码. 第一章"办公编程介绍"介绍了Office对象模型,并对其基本结构进行了研究.本章介绍如何使用对象,集合和枚举所有Office对象模型中找到的基本类型.您还将学习如何使用Office对象模型中的对象和集合

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

原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Excel的内置公式虽然强大,但是在ERP等系统中,往往需要进行很多业务上的计算,如收发存台账.指定年.月.部门的消耗查询等,都是需要从数据库中查询的,且和业务紧密相连.这时仅仅依靠Excel的内置公式就不够了,需要添加自定义的公式来进行这些业务计算. 测试代码下载 本系列所有测试代码均在Visual St

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

原文:我的VSTO之路(三):Word基本知识 在前一篇文章中,我初步介绍了如何如何开发一个VSTO程序,在本文中,我将进一步深入介绍Word的插件开发.Word是一个大家在日常工作中一直接触的文档工具,也是微软最赚钱的产品之一.从最初的Word 1.0到现在的Word 2010历经了13代的演化,已经成为了一个比较复杂的系统.(这里稍微跑题一下,Office 2010的版本代号是version 14,但是我为什么说Word一共演化了13代呢?因为Office并没有Version 13,上一代的

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中应用很广泛的序列化技术Google的ProtoBuf,所以本文也是按照ProtoBuf的方式来操作的.ProtoBuf是一个开源库,简单来说ProtoBuf就是一个能使序列化的数据变得更小的类库,当然这里指的更小是相对的.好了ProtBuf的东西就不在多说,以后会专门写一篇帖子的.本帖其实就相当于上

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二) 前几天有点事情所以没有继续更新,今天我们接着说.上个帖子中我们看到已经把Excel数据生成了.bin的文件,不过其实这样到游戏中还是不能用的.主要有两个方面,1.bin文件的后缀使我们随便取的名字,但是这种文件Unity不买账.因为Unity中的二进制文件必须是以.bytes命名的.2.在写文件之前其实还可以对二进制进行压缩,这样可以最大化节省设备空间.也就是说我们在生成数据实例后还需要做以下几件事:序列化 -

.net 后台导出excel ,word

前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="BTBW_rk.aspx.cs" Inherits="lxl_HXYRK_BTBW_rk" %> <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,

Aspose&#160;强大的服务器端 excel word ppt pdf 处理工具

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