今天爆震室管理系统——学生查看机器状态的时候发现有一个“导出到excel”的button。我去。感情还得跟excel表链接。

于是我咬碎了一地小银牙。一个下午都在查询vb与excel
的链接的问题。

我大体的思路是:

首先。在vb中引用Excel类型库。

如图:

其次,声明excel的对象。这里不单单仅仅是声明一个excel表,还要声明工作簿和工作表

例如以下代码:

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

最后,就能够在vb程序对excel表进行操作。

在机房管理系统中主要的操作有:

Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类

xlApp.Visible =
True '设置EXCEL可见

Set xlBook = xlApp.Workbooks.Open(App.Path & "\新建 Microsoft Excel 工作表.xls") '打开EXCEL工作簿

Set xlSheet = xlBook.Worksheets(1) '打开EXCEL工作表

xlSheet.Activate '激活工作表

xlSheet.Cells(1, 1) = myflexgrid.TextMatrix(0, 0)……'给单元格1行驶列赋值

xlBook.RunAutoMacros (xlAutoOpen) '执行EXCEL中的启动宏

另外,另一些拓展的操作:

xlSheet.PrintOut '打印工作表

xlBook.Close (True) '关闭工作簿

xlApp.Quit '结束EXCEL对象

Set xlApp = Nothing '释放xlApp对象

问题1(excel宏的作用):

EXCEL提供一个VisualBasic编辑器,打开VisualBasic编辑器,当中有一project属性窗体,点击右键菜单的"插入模块",则添加一个"模块1",在此模块中能够运用VisualBasic语言编写函数和过程并称之为宏。当中,EXCEL有两个自己主动宏:一个是启动宏(Sub Auto_Open()),还有一个是关闭宏(SubAuto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自己主动执行启动宏。同理,当关闭含有关闭宏的工作簿时就会自己主动执行关闭宏。可是通过VB的自己主动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自己主动执行,而须要在VB中通过命令xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros
(xlAutoClose)来执行启动宏和关闭宏。

(我的理解就是EXCEL中的VBA就是VB在EXCEL中的应用)

问题2(下标越界):

面对着问题应该出在flexgrid控件上,你在设计界面时把初始列数9。既能够攻克了。

特别说明:

在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见。否则VB程序可继续运行其他操作。也可以关闭EXCEL。同一时候也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道。假设此时使用EXCEL对象。则VB程序会产生自己主动化错误。

形成VB程序无法全然控制EXCEL况。作VB与EXCEL失去联系。

版权声明:本文博主原创文章,博客,未经同意不得转载。

计算机管理系统——VB与Excel联系的更多相关文章

  1. 机房管理系统——vb与excel链接2

    因为我之前找的文档让我以为在创建表里面走了非常大的误区,所以当时我直接就在学生管理系统的目录里建了张表,执行时候直接打开这样表即可了. 可是这里面还是存在着非常大的误区. 后来我看了周坤的博客感觉他比 ...

  2. 办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

    办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL 总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了. 时间紧迫,就没有从头到尾的用C#编写, ...

  3. C#/VB.NET Excel数据分列

    C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...

  4. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  5. 用VB操作Excel的方法

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...

  6. VB操作EXCEL文件大全

    Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...

  7. VB中Excel 2010的导入导出操作

    VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...

  8. VB读写Excel

        近期用excel和VB比較多,就简单的学习了一下VB中对Excel的处理.今天就介绍一些吧.       在VB中要想调用Excel,须要打开VB编程环境“project”菜单中的“引用”项目 ...

  9. 如何使用VB编写Excel的COM组件

    1 新建工程中选择"外接程序",点击打开之后右侧的属性窗口即显示为MyAddIn工程.(注意如果你使用的是VB精简版的没有"外接程序"的选项,请下载完整版的) ...

随机推荐

  1. 《C/C++专项练习》 — (3)

    序 第三次C/C++专项.嗯,要抗住打击,继续加油~ 错题分析与总结 1 . 在64位系统中.有例如以下类: class A { public: void *p1; private: void *p2 ...

  2. HTML5 Canvas 填充与描边(Fill And Stroke)

    HTML5 Canvas 填充与描边(Fill And Stroke) 演示HTML5 Canvas Fill 与Stroke文字效果,基于Canvas如何实 现纹理填充与描边. 一:颜色填充与描边 ...

  3. www.centos.org

    https://www.centos.org/forums/viewtopic.php?t=5770 In order to conserve the limited bandwidth availa ...

  4. hdu2062(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2062 详细分析:http://mamicode.com/info-detail-95273.html ...

  5. codechef Sums in a Triangle题解

    Let's consider a triangle of numbers in which a number appears in the first line, two numbers appear ...

  6. IDEA系统提示中文乱码问题及解决

    近期要切换到IDEA开发, 在输出界面发现打印小方格, 或者乱码, 是由于字体不支持中文, 选择一个支持中文的就正常了.(由于IDEA在国内下载错误信息会用中文显示. 而之前Eclipse错误都是英文 ...

  7. MySQLdb 连接Mysql 数据库出错解决

      #coding=utf-8 import MySQLdb if __name__ == "__main__": db = MySQLdb.connect(host=<sp ...

  8. SVN的svnlook命令

    svnlook命令集(zhuanzai) 2011-12-08 17:00:30|  分类: System and CVS|字号 订阅     svnlook 名称 svnlook author — ...

  9. FZU 2113(数位dp)

    题目连接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=38054 题意:求区间[a,b]中包含'1'的个数. 分析:数位dp ...

  10. 类似于qq联系人的tablview能够展开和收缩

    在.h文件中定义三个数组和一个tablview UITableView *listTable;     NSMutableArray *listArray;     NSMutableArray *p ...