當前位置:吉日网官网 - 紀念幣收藏 - 如何在VB窗體中直接操作EXCEL?

如何在VB窗體中直接操作EXCEL?

VB是應用軟件常用的開發工具之壹。由於VB有限的報表功能和報表格式的改變,程序不得不進行相應的修改,這給應用軟件的維護帶來了很大的不便。所以現在很多程序員都充分利用了EXECL強大的報表功能來實現報表功能。但是,由於VB和EXCEL屬於不同的應用系統,如何將它們有機地結合起來,是壹個值得我們研究的課題。

首先,VB讀寫EXCEL表格:

VB本身提供了讀寫EXCEL表格的自動化功能,其方法如下:

1,引用工程中的Microsoft Excel類型庫:

從“項目”菜單中選擇“參考”欄;選擇Microsoft excel 9.0對象庫(excel 2000),然後選擇“確定”。指示將在項目中引用EXCEL類型庫。

2.在聲明通用對象的過程中定義EXCEL對象:

將xlApp調成Excel。應用

將xlBook調成Excel。練習本

將xlSheet調成Excel格式。工作表

3.在程序中操作EXCEL表格的常用命令:

Set xlapp = createobject ("EXCEL。應用程序")'創建壹個Excel對象。

設置xlBook = xlApp。Workbooks.Open("文件名")'打開現有的EXCEL工作簿文件。

XlApp。Visible = True '將EXCEL對象設置為可見(或不可見)。

設置xlSheet = xlBook。Worksheets ("table name ")'設置活動工作表。

XlSheet。Cells(row,col) = value '為單元格(row,col)賦值。

XlSheet。“打印輸出”打印工作表。

XlBook。Close (True)'關閉工作簿。

XlApp。“退出”結束EXCEL對象。

' Set xlApp = Nothing '釋放xlApp對象。

Xlbook。runautomacro(xlautoopen)'運行EXCEL啟動宏。

XL book . 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鍵入包含啟動宏的工作簿時,會自動運行啟動宏。同樣,當關閉包含shutdown宏的工作簿時,它將自動運行shutdown宏。但是當通過VB的自動化功能調用EXCEL工作表時,啟動宏和關機宏不會自動運行,而是需要通過命令xlbook來運行啟動宏和關機宏。Runautomacros (xlautoopen)和xlbook。VB中的Runautomacros (xlautoclose)。

三、VB與EXCEL的通信:

充分利用EXCEL的啟動宏和關閉宏實現VB與EXCEL的通信。這些方法如下:

在EXCEL的啟動宏中添加壹個程序,其作用是在磁盤中寫入壹個標誌文件,同時在關機宏中添加壹個刪除這個標誌文件的程序。VB程序在執行時通過判斷這個標誌文件是否存在來判斷EXCEL是否打開。如果這個標誌文件存在,說明EXCEL對象正在運行,應該禁止其他程序運行。如果這個標誌文件不存在,說明EXCEL對象已經被用戶關閉。此時,如果要使用EXCEL對象運行,必須重新創建EXCEL對象。

第四,例如:

1.在VB中,創建壹個窗體,在上面放兩個命令按鈕,將Command1的Caption屬性改為EXCEL,將Command2的Caption屬性改為End。然後在其中輸入以下程序:

Dimxlappasasexcel。“應用程序”定義了EXCEL類。

將xlBook調成Excel。“工作簿”定義工作簿類。

將xlsheet調成Excel格式。“Worksheet”定義工作表類。

Private Sub命令1_Click()'打開EXCEL程序。

Ifdir ("d: \ temp \ excel.bz") = " "然後'判斷excel是否打開。

Set xlapp = createobject ("EXCEL。application ")'創建Excel應用程序類。

XlApp。“Visible = True”將EXCEL設置為可見。

set XL book = XL app . workbooks . Open(" d:\ temp \ bb . xls ")'打開EXCEL工作簿。

set XL sheet = XL book . worksheets(1)'打開EXCEL工作表。

Xlsheet。“激活”激活工作表。

Xlsheet。cells (1,1) = "ABC " '為單元格1的行列賦值。

XL book . runautomacros(xlautoopen)在EXCEL中運行啟動宏。

其他

MsgBox ("EXCEL已打開")

如果…就會結束

末端接頭

私有子命令2_Click()

if Dir(" D:\ temp \ excel . BZ ")& lt;& gt" "然後用VB關閉EXCEL。

Xlbook。runautomacros (xlautoclose)'執行EXCEL關閉宏。

XlBook。“關閉(True)”關閉EXCEL工作簿。

XlApp。退出並關閉EXCEL。

如果…就會結束

' Set xlApp = Nothing '釋放EXCEL對象。

結束

末端接頭

2.在D盤根目錄下創建壹個名為Temp的子目錄,在Temp目錄下創建壹個名為“bb.xls”的EXCEL文件。

3.在“bb.xls”中打開Visual Basic編輯器,在項目窗口中單擊鼠標按鈕選擇插入模塊,在模塊中輸入下壹個程序保存:

Sub auto_open()

打開“d: \ temp \ excel.bz”作為# 1 '寫標誌文件輸出。

關閉#1

末端接頭

Sub auto_close()

Kill "d:\temp\excel.bz " '刪除標誌文件。

末端接頭

4.運行VB程序,點擊EXCEL按鈕打開EXCEL系統。打開EXCEL系統後,VB程序和EXCEL屬於兩個不同的應用系統,兩者可以同時操作。因為系統增加了判斷,所以在VB程序中反復點擊EXCEL按鈕會提示EXCEL已經打開。如果在EXCEL中關閉EXCEL,然後單擊EXCEL按鈕,EXCEL將會重新打開。無論EXCEL是否打開,都可以通過VB程序關閉EXCEL。這樣就實現了VB和EXCEL的無縫連接。

  • 上一篇:美術館手腕上的美術館
  • 下一篇:寒門崛起章節列表
  • copyright 2024吉日网官网