VB中调用EXCEL_第1页
VB中调用EXCEL_第2页
VB中调用EXCEL_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 的无缝连接 Set xlApp CreateObject Excel Application 创建 EXCEL 对象 Set xlBook xlApp Workbooks Open App Path 文件名 xls 打开已经存在的 EXCEL 工件簿文件 xlApp Visible True 设置 EXCEL 对象可见 或不可见 Set xlSheet xlBook Worksheets sheel1 设置活动工作表 sheet1 表示表名 可以使用字符型变量代替 xlSheet Activate 激活工作表 让它处于前台活动中 xlBook RunAutoMacros xlAutoOpen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论