马克西姆餐厅点什么:关于VB与EXCEL的无缝连接

来源:百度文库 编辑:九乡新闻网 时间:2024/05/08 19:56:33
关于VB与EXCEL的无缝连接 VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

  一、 VB读写EXCEL表:

  VB本身提自动化功能可以读写EXCEL表,其方法如下:

  1、在工程中引用Microsoft Excel类型库:

  从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。

  2、在通用对象的声明过程中定义EXCEL对象:

Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet 

  3、在程序中操作EXCEL表常用命令:

Set xlApp = CreateObject("Excel.Application") ‘创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("文件名") ‘打开已经存在的EXCEL工件簿文件
xlApp.Visible = True ‘设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("表名") ‘设置活动工作表
xlSheet.Cells(row, col) =值 ‘给单元格(row,col)赋值
xlSheet.PrintOut ‘打印工作表
xlBook.Close (True) ‘关闭工作簿
xlApp.Quit ‘结束EXCEL对象
Set xlApp = Nothing ‘释放xlApp对象
xlBook.RunAutoMacros (xlAutoOpen) ‘运行EXCEL启动宏
xlBook.RunAutoMacros (xlAutoClose) ‘运行EXCEL关闭宏 

  4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

  二、 EXCEL的宏功能:

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

  三、 VB与EXCEL的相互勾通:

  充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

  在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

  四、举例:

  1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:

Dim xlApp As Excel.Application ‘定义EXCEL类 
Dim xlBook As Excel.Workbook ‘定义工件簿类
Dim xlsheet As Excel.Worksheet ‘定义工作表类 
Private Sub Command1_Click() ‘打开EXCEL过程
 If Dir("D:\temp\excel.bz") = "" Then ‘判断EXCEL是否打开
  Set xlApp = CreateObject("Excel.Application") ‘创建EXCEL应用类
  xlApp.Visible = True ‘设置EXCEL可见
  Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") ‘打开EXCEL工作簿
  Set xlsheet = xlBook.Worksheets(1) ‘打开EXCEL工作表
  xlsheet.Activate ‘激活工作表
  xlsheet.Cells(1, 1) = "abc" ‘给单元格1行驶列赋值
  xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏
 Else
  MsgBox ("EXCEL已打开") 
 End If
End Sub

Private Sub Command2_Click()
 If Dir("D:\temp\excel.bz") <> "" Then ‘由VB关闭EXCEL 
  xlBook.RunAutoMacros (xlAutoClose) ‘执行EXCEL关闭宏
  xlBook.Close (True) ‘关闭EXCEL工作簿 
  xlApp.Quit ‘关闭EXCEL
 End If
 Set xlApp = Nothing ‘释放EXCEL对象
 End
End Sub
 

  2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。

  3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:


Sub auto_open()
 Open "d:\temp\excel.bz" For Output As #1 ‘写标志文件
 Close #1
End Sub
Sub auto_close()
 Kill "d:\temp\excel.bz" ‘删除标志文件
End Sub 

  4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。

============================
---- 一.Excel对象 

---- 微软的Excel对象模型包括了128个不同的对象,从矩形,文本框等简单的对象到透视表,图表等复杂的对象.下面我们简单介绍一下其中最重要,也是用得最多的四个对象. 

---- 1. Application对象 

---- Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境. 

---- 2. Workbook对象 

---- Workbook对象直接地处于Application对象的下层,表示一个Excel工作薄文件. 

---- 3. Worksheet对象 

---- Worksheet对象包含于Workbook对象,表示一个Excel工作表. 

---- 4. Range对象 

---- Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格.
================================================Excel 基础入门教程
  • Excel显示值计算
  • Excel单元格边界附加功能使用技巧
  • Excel自动隐藏值为0的单元格
  • Excel2007中的常见错误值
  • 移动Excel 2007数据透视表
  • Excel 2007字段设置
  • Excel图表是什么
  • 在Excel单元格中画表格
  • 自定义Excel计算器按钮
  • 取消Excel工作表里框线显示
  • Excel2003菜单栏里文件选项
  • Excel单元格为何文字显示不全
  • 如何在Excel 2010快速设置隔行着色
  • Excel 2007中隐藏或显示行和列的方法
  • 在Excel 2007 中禁止打印功能
  • 掌握Excel工作簿与工作表中的快捷键
  • Excel用于选择数据和单元格的快捷键
  • 用Excel图片批注功能做鼠触图片显示
  • Excel技巧:Excel2007的单元格定位快捷键
  • 了解漂亮美观的Excel2007文档内置主题样式
  • Excel教程:醒目标注条件单元格的设置
  • 有效性地圈出Excel表格中指定数据
  • Excel单元格自动调整字号
  • 自定义Excel公式让数据不再重复
  • Excel快速输入文字数字
  • Office快捷键:用于Excel表格的快捷键
  • Excel 2007单元格内容的移动或复制
  • 在Excel 2007中快速删除重复数据项
  • Excel 2007活动单元格找四邻
  • 教你如何在Excel中快速输入内容
  • 巧手教你移走Excel中自动链接
  • 用Excel截屏让数据得到实时更新
  • 在Office Excel中让你填充不连续的单元格
  • Excel打印问与答
  • Excel 2007“监视窗口”的应用
  • 选择使用新版Excel 2007的10条理由
  • Excel2007数据设置只读和修改密码
  • Excel高效数据校验两法
  • Excel快捷键大全
  • Excel2007公式常见显示错误原因与解决方法
  • 微软Office Excel使用中的种种限制
  • Excel 2007 新手入门
  • 1.在Excel 2007 中禁止打印功能
  • 2.Excel 2007中隐藏或显示行和列的方法
  • 3.Excel 2007
  • 4.Excel 2007字段设置
  • 5.移动Excel 2007数据透视表
  • 6.Excel 2007单元格内容的移动或复制
  • 7.在Excel 2007中快速删除重复数据项
  • 8.Excel 2007活动单元格找四邻
  • 9.Excel 2007“监视窗口”的应用
  • 10.选择使用新版Excel 2007的10条理由
  • 11.了解漂亮美观的Excel2007文档内置主题样式
  • 12.Excel2007中的常见错误值
  • 13.Excel2007数据设置只读和修改密码
  • 14.Excel2007公式常见显示错误原因与解决方法
  • 15.Excel 2007加载宏所出现的问题
  • ========================================================
  • Excel 使用技巧
  • Excel填充技巧
  • Excel中双击的妙用
  • 隐藏Excel 2007文档工作表
  • 单独打印Excel图表方法
  • Excel 共享工作表技巧
  • Excel 2007
  • Excel 2007快捷键和功能键
  • Excel制作统计表技巧
  • 教你六招 在Excel中轻松输入分式与分数
  • Excel 2007省时小技巧
  • 语音校对功能实现数据核对妙用excel
  • Excel 2007工作表的插入与删除方法
  • 将Excel中存储为文本的数字转换为数字格式
  • 微软Excel 单元格文本轻松换行
  • 疑难杂症的克星 常用25条Excel技巧
  • 技巧分享:鼠标双击在Excel中的妙用
  • 插入表格后的Word删除空白页
  • Excel 2007表格中的字段设置技巧
  • 如何设置才能使Excel公式
  • 如何将Excel中多个不相邻区域的数据都打印在同一个页面上
  • 教你彻底隐藏Excel2007文档工作表
  • 让excel表格只能看不能改
  • Shift键在Excel里有这样的妙处
  • office Excel中双击技巧
  • 在Excel 2003/2007中巧妙打印条形码
  • Excel 2007中轻松设置文本的样式
  • 教你用Excel来聊天
  • Excel会计应学鲜为人知的技巧
  • 如何在Excel中快速输入有固定内容的数据?
  • 巧妙转换 让Excel人民币小写变大写
  • 用Shift键快速将Excel表格变图片
  • 巧用宏指令拒绝Excel2007文件打印
  • 弹指如飞 Excel高速输入的技巧
  • 在Excel中巧做复杂表头
  • 灵犀一指 用Excel轻松排学生座位
  • 设置Excel 2007数据精度 保障准确性
  • 巧妙运用Excel中边界的附加功能
  • Excel2007无法安装加载项解决办法
  • Excel 2007数字格式与文本格式互转
  • 为包含图形对象的Excel文档瘦身
  • Excel工作表的复制与移动技巧
  • Excel使用技巧
  • Office Excel 2007六则小技巧
  • Excel实用操作技巧九则
  • Excel将文本转换为数字的四种方法
  • Office Excel 工作簿优化技巧
  • 掌握十二则技巧 Excel操作效率大大提高
  • 常用办公软件 Excel技巧整理讲解
  • 躲避老板 高手建议用Excel来聊天
  • 让Excel2010在表中同时显示公式和值
  • Excel新增按钮快速更改大小写
  • Excel 2007 使用技巧
  • 1.Excel 2007工作表的插入与删除方法
  • 2.Excel 2007省时小技巧
  • 3.Excel 2007快捷键和功能键
  • 4.隐藏Excel 2007文档工作表
  • 5.Excel 2007表格中的字段设置技巧
  • 6.Excel 2007中轻松设置文本的样式
  • 7.设置Excel 2007数据精度 保障准确性
  • 8.Excel 2007数字格式与文本格式互转
  • 9.Office Excel 2007六则小技巧
  • 10.Excel技巧:Excel2007的单元格定位快捷键
  • 11.教你彻底隐藏Excel2007文档工作表
  • 12.巧用宏指令拒绝Excel2007文件打印
  • 13.Excel2007无法安装加载项解决办法
  • 14.Excel 2007工作表的保护
  • 15.Excel 2007乘法bug问题已得到解决
  • ==============================================================
  • Excel 实用教程
  • Excel里输小数技巧
  • 用Excel建立数据库
  • 管理Excel2007条件格式规则的优先级
  • 解决Excel产生求和误差问题
  • 为Excel公式返回结果设置颜色
  • 建立Excel超级链接
  • Excel 将工作表保存为网页
  • Excel与PowerPoint的协作
  • Excel2007 隐藏网格线
  • Excel 2003 也能多标签窗口
  • Excel 2003加密文件破解方法
  • 将excel饼状图的图例设置为汉字
  • Excel函数实现列数较少表格分栏打印
  • Excel和Access间复制、导入和导出数据
  • Excel 2007中让信用卡号码安全地显示
  • Excel 2007中如何正确显示日期和时间
  • 在Excel工作表单元格中手动输入各种数据
  • Excel函数的输入方法
  • Excel表格潜伏木马 办公室电脑谨防黑客偷窥
  • 实例解析Excel划规求解
  • Excel转化成PDF格式彩色图片为什么会变成黑白色
  • 巧用Excel公式 计算个人所得税
  • Excel 2007中的日期进行混合排序
  • Excel 2007 实用教程
  • 1.Excel 2007中如何正确显示日期和时间
  • 2.Excel 2007中让信用卡号码安全地显示
  • 3.Excel 2007中的日期进行混合排序
  • 4.Excel2007 隐藏网格线
  • 5.管理Excel2007条件格式规则的优先级
  • 6.使用Excel 2007自动添加表格字段标题功能
  • 7.巧用Excel 2003/2007函数实现分类汇总
  • 8.在Excel 2007中实现老式工具栏
  • 9.在Excel 2007中创建组合图表
  • 10.用图案填充Excel 2007图表
  • 11.如何使用Excel 2007绘制甘特图
  • 12.在Excel 2007中操作和管理数据实例操作
  • 13.在Exce 2007中快速检索大量数据
  • 14.设计Excel 2007数据表格式
  • 15.Excel 2007单元格批注