Excel中何如生成隨機數據,Excel表格中怎樣隨機生成整數、小數和字母?( 二 )


筆者在軟件開發工作中 , 對VB的自動化功能和Excel的宏功能進行了一定的研究 , 實現了VB與Excel的有機結合 ?,F提出來與大家探討 。
一、VB讀寫Excel表
VB本身的自動化功能可以讀寫Excel表 , 其方法如下:
1、在工程中引用Microsoft Excel類型庫:
從“工程”菜單中選擇“引用”欄;選擇Microsoft Excel 9 。
0 Object Library (Excel2000) , 然后選擇“確定” 。表示在工程中要引用Excel類型庫 。
【Excel中何如生成隨機數據,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 。CloseTrue ’關閉工作薄
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\ ”)= “”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 。
Worksheet(1) '打開Excel工作表
xlSheet 。Activate '激活工作表
xlSheet 。Cells(1 , 1) = “abc” '給單元格1行駛列賦值
xlBook 。RunAutoMacros(xlAutoOpen) '運行Excel中的啟動宏

推薦閱讀