VB 使用 OLE 自動化嵌入Excel
時間:2009-08-01 18:28:30來源: 作者: 點擊: 1次
本文演示如何在 Visual Basic 應(yīng)用程序中嵌入 Microsoft Excel 版本 5.0 工作表對象,然后通過使用 OLE 自動化和一個 MSOLE2.VBX 控件或 OLE 容器控件進(jìn)行操作。 Microsoft Excel 版本 5.0 提供了支持使用 Visual Basic for Applications 的工作表和圖表功能的 OLE 對象。 mfBVB知識庫
Excel 中的工作表有時稱為電子表格。 它是主文檔用于在 Excel 中存儲和處理數(shù)據(jù)。 在工作表包含組織成列和行的單元格,,在采用始終的工作簿的一部分。mfBVB知識庫
分步示例
loadTOCNode(2, 'moreinformation'); 下例顯示如何使用 OLE 自動化完成在工作表添加數(shù)據(jù)、 計算和和選擇單元格上的一些常見任務(wù)。 mfBVB知識庫 mfBVB知識庫
- 在 Visual Basic 中啟動一個新的項目。 默認(rèn)情況下會創(chuàng)建 Form 1。
- 添加以下常量聲明到 Form 1 的通用聲明部分,說明數(shù)據(jù)來自該 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 屬性設(shè)置為拉伸。
- 向 Form 1 中添加一個命令按鈕 (Command 1)。 將標(biāo)題設(shè)置為: 嵌入 Excel 5.0 對象。 添加以下代碼,實現(xiàn) Command 1 單擊時向Excel 5.0 工作表嵌入 一個OLE 1 控件。 因為該OLE 1 控件 SizeMode 屬性設(shè)置為拉伸,工作表自動調(diào)整大小自身 OLE 1 控件,執(zhí)行代碼。
Sub Command1_Click()
ole1.Class = "Excel.Sheet.5"
ole1.Action = OLE_CREATE_EMBED
End Sub
- 將另一個命令按鈕 (Command 2) 放到 Form 1 上中。 更改命令按鈕的標(biāo)題: 添加數(shù)據(jù)。 將以下代碼添加到 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
</a0>-"ole1.Object 部分是 Visual Basic 代碼。 在行的其余部分添加數(shù)據(jù) (單元格 (2,1).Value = 1) 是 Excel 的 Visual Basic for Applications 代碼。
- 從運行菜單中選擇開始,或按 F 5 鍵以運行該程序。 單擊查看工作表的 Command 1。 單擊要查看添加到工作表信息的 Command 2。 從可回到開發(fā)運行菜單中選擇結(jié)束。
- 添加另一個命令按鈕 (Command3) 來體驗功能。 添加以下代碼,在 Command3 單擊事件代碼。 SUM 函數(shù)是可以使用實驗中的多個 Excel 函數(shù)之一。 運行應(yīng)用程序,并按命令按鈕,以查看效果。
- 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
若要了解有關(guān) Microsoft Excel 的 Visual Basic for Applications,請在 Excel 中, 打開一個新的模塊工作表,將從視圖菜單中, 選擇對象瀏覽器或按 F 2 鍵。 在對象瀏覽器列出了 Excel 及其相關(guān)對象和方法中的所有對象。 在對象瀏覽器演示對象模型的分層特性。 mfBVB知識庫mfBVB知識庫如果您希望新,請嘗試。但不能確定語法,最好手動啟動 Microsoft Excel,逐步完成該過程中的宏錄制器、 關(guān)閉宏錄制器和在當(dāng)前模塊中查看代碼。 然后代碼剪切并粘貼在到 Visual Basic 事件過程。 通常需要的是 ole1.object 的前綴。
|