VB 使用 OLE 自动化嵌入Excel1

来源:百度文库 编辑:神马文学网 时间:2024/05/16 00:07:23
VB 使用 OLE 自动化嵌入Excel
时间:2009-08-01 18:28:30来源: 作者: 点击: 1次
本文演示如何在 Visual Basic 应用程序中嵌入 Microsoft Excel 版本 5.0 工作表对象,然后通过使用 OLE 自动化和一个 MSOLE2.VBX 控件或 OLE 容器控件进行操作。 Microsoft Excel 版本 5.0 提供了支持使用 Visual Basic for Applications 的工作表和图表功能的 OLE 对象。 mfBVB知识库
Excel 中的工作表有时称为电子表格。 它是主文档用于在 Excel 中存储和处理数据。 在工作表包含组织成列和行的单元格,,在采用始终的工作簿的一部分。mfBVB知识库
分步示例
loadTOCNode(2, 'moreinformation'); 下例显示如何使用 OLE 自动化完成在工作表添加数据、 计算和和选择单元格上的一些常见任务。 mfBVB知识库
mfBVB知识库
在 Visual Basic 中启动一个新的项目。 默认情况下会创建 Form 1。 添加以下常量声明到 Form 1 的通用声明部分,说明数据来自该 CONSTANT.TXT 文件: Const OLE_CREATE_EMBED = 0 Const OLE_ACTIVATE = 7
将 MSOLE2.VBX 文件添加到文件菜单中。使用菜单“添加文件”选项可添加该项目。 MSOLE2.VBX 位于 WINDOWS\SYSTEM 目录中。 OLE 控件将显示为 Visual Basic 工具栏上的选项。 添加 OLE 控件 (OLE 1) Form 1。 操作时按“取消”取消弹出的“插入对象”对话框。 您将建立一个空 OLE 1 对象在 Form 1 上。 将 OLE 1 控件的 SizeMode 属性设置为拉伸。
向 Form 1 中添加一个命令按钮 (Command 1)。 将标题设置为: 嵌入 Excel 5.0 对象。 添加以下代码,实现 Command 1 单击时向Excel 5.0 工作表嵌入 一个OLE 1 控件。 因为该OLE 1 控件 SizeMode 属性设置为拉伸,工作表自动调整大小自身 OLE 1 控件,执行代码。 Sub Command1_Click() ole1.Class = "Excel.Sheet.5" ole1.Action = OLE_CREATE_EMBED End Sub
将另一个命令按钮 (Command 2) 放到 Form 1 上中。 更改命令按钮的标题: 添加数据。 将以下代码添加到 Command 2 Click 事件: Sub Command2_Click () ole1.Action = OLE_ACTIVATE ole1.Object.cells(1, 1).value = "Jan" ole1.Object.cells(2, 1).value = 3 ole1.Object.cells(3, 1).value = 4 ole1.Object.cells(4, 1).value = 6 End Sub
-"ole1.Object 部分是 Visual Basic 代码。 在行的其余部分添加数据 (单元格 (2,1).Value = 1) 是 Excel 的 Visual Basic for Applications 代码。 从运行菜单中选择开始,或按 F 5 键以运行该程序。 单击查看工作表的 Command 1。 单击要查看添加到工作表信息的 Command 2。 从可回到开发运行菜单中选择结束。 添加另一个命令按钮 (Command3) 来体验功能。 添加以下代码,在 Command3 单击事件代码。 SUM 函数是可以使用实验中的多个 Excel 函数之一。 运行应用程序,并按命令按钮,以查看效果。 Sub Command3_Click()mfBVB知识库
ole1.Action = OLE_ACTIVATEmfBVB知识库
ole1.Object.Range("A2:A4").SelectmfBVB知识库
' Try any one of the following lines, or add some pauses betweenmfBVB知识库
' them to see the selections taking place and the active cellmfBVB知识库
' changing.mfBVB知识库
mfBVB知识库
' To try a line, remove the single quotation mark to uncomment themfBVB知识库
' line:mfBVB知识库
' ole1.Object.Range("C6").ActivatemfBVB知识库
' ole1.Object.cells(6, 1).value = "=SUM(R2C:R4C)"mfBVB知识库
' ole1.Object.Range("A6").SelectmfBVB知识库
End Sub
若要了解有关 Microsoft Excel 的 Visual Basic for Applications,请在 Excel 中, 打开一个新的模块工作表,将从视图菜单中, 选择对象浏览器或按 F 2 键。 在对象浏览器列出了 Excel 及其相关对象和方法中的所有对象。 在对象浏览器演示对象模型的分层特性。 mfBVB知识库
mfBVB知识库
如果您希望新,请尝试。但不能确定语法,最好手动启动 Microsoft Excel,逐步完成该过程中的宏录制器、 关闭宏录制器和在当前模块中查看代码。 然后代码剪切并粘贴在到 Visual Basic 事件过程。 通常需要的是 ole1.object 的前缀。