Excel开发学习笔记:新建文档级的excel解决方案

工作中遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具。在业余时间一边自学一边实践,最近终于完成了雏形。抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵。

开发环境基于VSTO(没有用VBA),具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序。

Excel的开发方式有很多,比如VBA、vsto下的文档级程序、vsto下的插件程序等,VBA和文档级程序比较容易上手,开发简单的功能足够了,适合平时随手写个小工具。文档级的定制程序是和单个excel文档绑定的,随文档的打开而加载,但并不像vba那样把代码存放在文档里供查看。

第一步当然是通过vs2010提供的项目模版新建一个VSTO工程,在new project-->installed templates下面找到visual basic-->office2007-->excel 2007 workbook模版,建立的工程中会包含一个excel文件,也就是所谓的excel工作薄(workbook),下面挂有几个工作表(sheet), 这些都可以在左边的工程资源管理器中看到。

右键点击工程下的.vb文件选择view designer命令进入设计器视图,会在vs2010开发环境中显示和操作这些工作表,就跟在excel中一模一样,同时还能像VBA那样把控件拖动到 工作表上。也可以右键选择view code,这时会打开工作薄或工作表的代码文件,后续的代码将添加在这里。

整个文档程序的运作机制和普 通VB程序差不多,通过界面上的控件(比如按钮)和用户交互,在控件的事件(比如点击按钮)代码中调用业务逻辑代码,然后把处理结果通过界面(比如 excel的某个工作表)呈现给用户。不同的地方在于我们的控件不是放置在windows窗体中,而是嵌入在excel的界面中;控件的事件代码也是嵌入 在对应的excel对象代码文件中(比如sheet1.vb)。

时间: 2024-10-27 02:37:11

Excel开发学习笔记:新建文档级的excel解决方案的相关文章

Excel开发学习笔记:界面交互与控件的布局

除了业务逻辑之外,比较耗时耗力的就是人机交互了.在编写excel定制程序的过程中,这次用到了以下几种交互方式: 通过excel工作表(worksheet)获取用户输入 通过按钮控件触发功能代码执行 通过TreeView控件显示内容摘要及导航 通过自定义的windows窗体提供交互 工作表的操作放到后面再说,讲一下按钮控件button和Treeview控件的布局. 放置控件的方法: 无非可视化放置和运行时代码加载两种.可视化放置比较直观,通过visual studio的toolbox工具栏拖动需要

Excel开发学习笔记:发布VSTO下的Excel开发项目

工作中遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学Excel开发一边动手实践,最近终于完成了雏形.抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO(没有用VBA),具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 因为是自用的小工具,对部署的要求很低,有个安装文件即可,也不要求兼容老版本的office.这样最简单的就是使用vs2010的pu

Excel开发学习笔记:文件选择控件、查找匹配项、单元格格式及数据有效性

遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. Private OpenFileDialog1 As New OpenFileDialog  Private Sub test()      OpenFileDialog1.Filter 

Excel开发学习笔记:VB.net的一些杂项

最近遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,最近终于完成了雏形.抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 动态数组vb自带的简单数组增删元素和改变大小不方便,.net提供的List类型很好用.比如下面定义了int类型的动态数组,第二句则是将 List(T) 的元素复制到

Excel开发学习笔记:查找与创建worksheet

开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 如题,我在ThisWorkbook.vb中添加了一个public函数来完成查找功能. 入参:待查找的sheet名称 返回:如果存在则返回worksheet对象,如果不存在则返回nothing Public Function WorksheetExist(name As String) As Excel.Worksheet          Try           

Excel开发学习笔记:根据工作表worksheet内容控制按钮的状态

开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 在Ribbon工具栏中有2个功能按钮,它们是否可用取决于worksheet(sheet1)中的内容. button1需要在sheet1中存在某个关键字(比如“默认勾选”)的时候可用,在sheet1初始化和内容变更事件中添加代码,下面的Ribbon1.Button1是我项目中的工具栏和按钮名称 Public Function checkRow() As Boolean 

Excel开发学习笔记:读取xml文件及csv文件

读取xml文件 有好多种读取xml的方式,xmlDOM比较常见,我使用了另外一种,它以数据流的方式打开文件并读取内容 Imports System.Xml  Dim group As New List(Of String)  Using reader As XmlReader = XmlReader.Create(OpenFileDialog2.FileName)      While reader.ReadToFollowing("group")          reader.Mo

IBatis .NET 开发学习笔记——.NET 开发环境搭建

大家好,今天给大家带来的是web应用程序配置,至于windows应用程序或者其他类型解决方案可以相同的配置,web应用程序配置文件为web.config,windows应用程序是app.config. 通过以下步骤可以建立属于你自己的环境: 1.首先,肯定是打开Visual Studio(文章后面简称VS),如果你有其他工具开发,我也不介意,反正我用VS,VS目前最新版是2013,不过我喜欢复古,所以,我目前用安装VS2010来当作教程,不管目前是多少版本了,都可以同理得到. 2.然后,新建一个

嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 )

发现放到Blog之后排版全乱套了.. 已经把PDF上传到资源页了  http://download.csdn.net/detail/lyy289065406/8934637 那边排版好看一点...看官们随意吧 >...< · 目 录 导 航 1. 引言 1.1. 编写目的 1.2. 阅读范围 1.3. 声明 1.4. 缩写词/名词解释 1.5. 参考资料 2. 嵌入式开发学习笔记 2.1. 开发环境/测试环境 2.2. 开坑:提要 2.3. 入坑:JNI 2.3.1. navicate 接口定