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


Else
MsgBox(“Excel已打開”)
End If
End Sub
Private Sub Command2_Click()
If Dir(“D:\temp\ ”)<> “” 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\ ” For Output As #1
Close #1
End Sub
Sub auto_close()
Kill “d:\temp\ ”
End Sub
4、運行VB程序 , 點擊Excel按鈕可以打開Excel系統 , 打開Excel系統后 , VB程序和Excel分別屬兩個不同的應用系統 , 均可同時進行操作 , 由于系統加了判斷 , 因此在VB程序中重復點擊Excel按鈕時會提示Excel已打開 。
如果在Excel中關閉Excel后再點Excel按鈕 , 則會重新打開Excel 。而無論Excel打開與否 , 通過VB程序均可關閉Excel 。這樣就實現了VB與Excel的無縫連接 。
2 。用VB 。NET結合Excel設計統計生產報表
用EXCEL做企業生產報表的理由
Excel表格生成和公式設置十分強大便利 , 是一個強有力的信息分析與處理工具 。
特別是EXCEL的公式、函數、VBA語言 , 功能極其強大 。我試用過其他電子表格軟件 , 在功能上和EXCEL根本沒有可比性 。
Visual Studio  , NET也同樣是MicroSoft的產品 , Visual Studio  , NET調用EXCEL做企業報表十分方便 。
證明當時我選Visual Studio  , NET作為首選開發工具是正確的 。
軟件構思
先在EXCEL里定制好名為《統計表》的樣表(模版) ,  , 在樣表中設置好各種格式 , 填寫好固定項 。
在窗體上放很三個控件 , 兩個DateTimePicker控件 , 用來選擇開始統計時間和結束統計時間 。
一個Button以啟動程序 。
軟件欲實現的功能是:點擊Button1 , 自動查找符合日期符合日期范圍的生產計劃工作表 , 然后利用SortedList統計各個辦事處的計劃數量和未完成數量 , 及各個產品型號的計劃數量和未完成數量 。再把SortedList的數據讀出寫到《統計表》中 。
這里要注意的是 , 各個生產報表格式必須規范統一 , 因為程序是按照固定單元格位置讀取數據的 。
SortedList類
除了具備VB , NET調用EXCEL的基礎知識外 , 本例主要用到SortedList類 。
SortedList類表示鍵/值對的集合 , 這些鍵和值按鍵排序并可按照鍵和索引訪問 。
SortedList 是 Hashtable 和 Array 的混合 。當使用 Item 索引器屬性按照元素的鍵訪問元素時 , 其行為類似于 Hashtable 。當使用 GetByIndex 或 SetByIndex 按照元素的索引訪問元素時 , 其行為類似于 Array 。
SortedList 在內部維護兩個數組以將數組存儲到列表中;即 , 一個數組用于鍵 , 另一個數組用于相關聯的值 。每個元素都是一個可作為 DictionaryEntry 對象進行訪問的鍵/值對 。鍵不能為空引用(Visual Basic 中為 Nothing) , 但值可以 。
SortedList 的容量是列表可擁有的元素數 。隨著向 SortedList 中添加元素 , 容量通過重新分配按需自動增加 。可通過調用 TrimToSize 或通過顯式設置 Capacity 屬性減少容量 。
SortedList 的元素將按照特定的 IComparer 實現(在創建 SortedList 時指定)或按照鍵本身提供的 IComparable 實現并依據鍵來進行排序 。
不論在哪種情況下 , SortedList 都不允許重復鍵 。
VB , NET結合EXCEL統計生產報表
以下是實現代碼 , 供參考 。為方便初學者 , 部份地方加以注釋 。
現在讓我們來試用一下 , 先選擇開始統計時間和結束統計時間 , 點擊Button1 , 程序就自動統計出各個辦事處的及各個產品的有關計劃數量及未完成數量 , 是不是很方便 。

推薦閱讀