计算机管理系统——VB与Excel联系
今天爆震室管理系统——学生查看机器状态的时候发现有一个“导出到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 = |
|
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联系的更多相关文章
- 机房管理系统——vb与excel链接2
因为我之前找的文档让我以为在创建表里面走了非常大的误区,所以当时我直接就在学生管理系统的目录里建了张表,执行时候直接打开这样表即可了. 可是这里面还是存在着非常大的误区. 后来我看了周坤的博客感觉他比 ...
- 办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL
办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL 总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了. 时间紧迫,就没有从头到尾的用C#编写, ...
- C#/VB.NET Excel数据分列
C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
- VB操作EXCEL文件大全
Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- VB读写Excel
近期用excel和VB比較多,就简单的学习了一下VB中对Excel的处理.今天就介绍一些吧. 在VB中要想调用Excel,须要打开VB编程环境“project”菜单中的“引用”项目 ...
- 如何使用VB编写Excel的COM组件
1 新建工程中选择"外接程序",点击打开之后右侧的属性窗口即显示为MyAddIn工程.(注意如果你使用的是VB精简版的没有"外接程序"的选项,请下载完整版的) ...
随机推荐
- 完整导出IntelliJ IDEA的快捷键
工欲善其事,必先利其器. 常常和代码打交道的人,熟练使用IDE快捷键那是必须的,由于快捷键能够把你从各种罗嗦事中解放出来.比方,假设没有快捷键,你就须要常常性的暂停快速执行的大脑,右手凭记忆摸到鼠标, ...
- linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)
场景:1.在windows 7上安装了visual svn server作为自己的svn服务器. 2.在虚拟机centos 6.3上使用svn客户端check代码,报错: [plain] view p ...
- inkscape - 百度百科
http://wapbaike.baidu.com/view/1267893.htm?ssid=0&from=844b&uid=3151E6C0905477A13653132D762B ...
- 番外:android模拟器连不上网
1.删除你PC端得备用DNS,只留一个即可.确保能够上网. 注意:这个虽然不是必须的,出错点也不一定在他,但是我建议这样做,因为我们不确定到底模拟器和我们的PC是否使用的是一个DNS,不是的话,就会造 ...
- Verifying Checksum ... Bad Data CRC 错误解决
1.问题描述:使用SAM9X25 内核版本是2.6.39 在启动内核时会出现Verifying Checksum ... Bad Data CRC 错误 2.解决办法: 查看原先uboot参数: ...
- 用Python的Tkinter实现时钟
import Tkinter,sys,time root=Tkinter.Tk() root.minsize(, ) Label1=Tkinter.Label(text=time.strftime(' ...
- HYSBZ 2243(树链剖分)
题目连接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/D 题意:给定一棵有n个节点的无根树及点权和m个操作, ...
- SWT的CheckBoxTreeView
其实CheckBoxTreeView和TreeView基本上是一样的,他们共同的方法有: TreeViewer 类封装了tree控件.树查看器按照父子关系来显示分等级的对象列表.此查看器需要设置标签供 ...
- Multitasking Apps may only use background services for their intended purposes
2.16 Details Your app declares support for audio in the UIBackgroundModes key in your Info.plist, bu ...
- hihocoder第41周 骨牌覆盖(矩阵快速幂)
由于棋盘只有两行,所以如果第i列的骨牌竖着放,那么就转移为第1列到第i-1列骨牌有多少种摆法 如果第一行第i列骨牌横着放,那么第二行第i列也要横着放,那么就转移为了第1列到第i-2列骨牌有多少种方法 ...