国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
如何實現(xiàn)VB與EXCEL的無縫連接
 如何實現(xiàn)VB與EXCEL的無縫連接   [ 日期:2006-03-28 ]   [ 來自:本站原創(chuàng) ]
VB是常用的應(yīng)用軟件開發(fā)工具之一,由于VB的報表功能有限,而且一但報表格式發(fā)生變化,就得相應(yīng)修改程序,給應(yīng)用軟件的維護工作帶來極大的不便。因此有很多程序員現(xiàn)在已經(jīng)充分利用EXECL的強大報表功來實現(xiàn)報表功能。但由于VB與EXCEL由于分別屬于不同的應(yīng)用系統(tǒng),如何把它們有機地結(jié)合在一起,是一個值得我們研究的課題。

  一、 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") ‘創(chuàng)建EXCEL對象
Set xlBook = xlApp.Workbooks.Open("文件名") ‘打開已經(jīng)存在的EXCEL工件簿文件
xlApp.Visible = True ‘設(shè)置EXCEL對象可見(或不可見)
Set xlSheet = xlBook.Worksheets("表名") ‘設(shè)置活動工作表
xlSheet.Cells(row, col) =值 ‘給單元格(row,col)賦值
xlSheet.PrintOut ‘打印工作表
xlBook.Close (True) ‘關(guān)閉工作簿
xlApp.Quit ‘結(jié)束EXCEL對象
Set xlApp = Nothing ‘釋放xlApp對象
xlBook.RunAutoMacros (xlAutoOpen) ‘運行EXCEL啟動宏
xlBook.RunAutoMacros (xlAutoClose) ‘運行EXCEL關(guān)閉宏 

  4、在運用以上VB命令操作EXCEL表時,除非設(shè)置EXCEL對象不可見,否則VB程序可繼續(xù)執(zhí)行其它操作,也能夠關(guān)閉EXCEL,同時也可對EXCEL進行操作。但在EXCEL操作過程中關(guān)閉EXCEL對象時,VB程序無法知道,如果此時使用EXCEL對象,則VB程序會產(chǎn)生自動化錯誤。形成VB程序無法完全控制EXCEL的狀況,使得VB與EXCEL脫節(jié)。

  二、 EXCEL的宏功能:

  EXCEL提供一個Visual Basic編輯器,打開Visual Basic編輯器,其中有一工程屬性窗口,點擊右鍵菜單的"插入模塊",則增加一個"模塊1",在此模塊中可以運用Visual Basic語言編寫函數(shù)和過程并稱之為宏。其中,EXCEL有兩個自動宏:一個是啟動宏(Sub Auto_Open()),另一個是關(guān)閉宏(Sub Auto_Close())。它們的特性是:當(dāng)用EXCEL打含有啟動宏的工簿時,就會自動運行啟動宏,同理,當(dāng)關(guān)閉含有關(guān)閉宏的工作簿時就會自動運行關(guān)閉宏。但是通過VB的自動化功能來調(diào)用EXCEL工作表時,啟動宏和關(guān)閉宏不會自動運行,而需要在VB中通過命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 來運行啟動宏和關(guān)閉宏。

  三、 VB與EXCEL的相互勾通:

  充分利用EXCEL的啟動宏和關(guān)閉宏,可以實現(xiàn)VB與EXCEL的相互勾通,其方法如下:

  在EXCEL的啟動宏中加入一段程序,其功能是在磁盤中寫入一個標志文件,同時在關(guān)閉宏中加入一段刪除此標志文件的程序。VB程序在執(zhí)行時通過判斷此標志文件存在與否來判斷EXCEL是否打開,如果此標志文件存在,表明EXCEL對象正在運行,應(yīng)該禁止其它程序的運行。如果此標志文件不存在,表明EXCEL對象已被用戶關(guān)閉,此時如果要使用EXCEL對象運行,必須重新創(chuàng)建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") ‘創(chuàng)建EXCEL應(yīng)用類
  xlApp.Visible = True ‘設(shè)置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關(guān)閉EXCEL 
  xlBook.RunAutoMacros (xlAutoClose) ‘執(zhí)行EXCEL關(guān)閉宏
  xlBook.Close (True) ‘關(guān)閉EXCEL工作簿 
  xlApp.Quit ‘關(guān)閉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系統(tǒng),打開EXCEL系統(tǒng)后,VB程序和EXCEL分別屬兩個不同的應(yīng)用系統(tǒng),均可同時進行操作,由于系統(tǒng)加了判斷,因此在VB程序中重復(fù)點擊EXCEL按鈕時會提示EXCEL已打開。如果在EXCEL中關(guān)閉EXCEL后再點EXCEL按鈕,則會重新打開EXCEL。而無論EXCEL打開與否,通過VB程序均可關(guān)閉EXCEL。這樣就實現(xiàn)了VB與EXCEL的無縫連接。

============================
---- 一.Excel對象 

---- 微軟的Excel對象模型包括了128個不同的對象,從矩形,文本框等簡單的對象到透視表,圖表等復(fù)雜的對象.下面我們簡單介紹一下其中最重要,也是用得最多的四個對象. 

---- 1. Application對象 

---- Application對象處于Excel對象層次結(jié)構(gòu)的頂層,表示Excel自身的運行環(huán)境. 

---- 2. Workbook對象 

---- Workbook對象直接地處于Application對象的下層,表示一個Excel工作薄文件. 

---- 3. Worksheet對象 

---- Worksheet對象包含于Workbook對象,表示一個Excel工作表. 

---- 4. Range對象 

---- Range對象包含于Worksheet對象,表示Excel工作表中的一個或多個單元格.
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用Excel控件制作簡單報表
VB編程連接Excel開發(fā)四個對象知識講解
在VB中調(diào)用EXCEL
vb調(diào)用excel方法大全(vb)
Visual Basic調(diào)用Excel
VB 導(dǎo)出 Excel (導(dǎo)入指定格式的 Excel 文檔中)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服