在VB程序設(shè)計(jì)中我們經(jīng)常需要用到其他的程序比如Offic產(chǎn)品中的Word、Excel等。下面我們就來(lái)說(shuō)一下VB與Office。
比如我們需要在VB中應(yīng)用Excel,首先打開(kāi)VB—工程—引用,選擇Microsoft Excel14.0 Object Library ,14.0表示的是Excel2010,根據(jù)自己的Office版本確定引用的版本。 然后創(chuàng)建Application對(duì)象,創(chuàng)建之后我們就可以使用Application對(duì)象和其他子對(duì)象。
比如下面這段代碼,創(chuàng)建使用Application對(duì)象和子對(duì)象:
- Dim xlsApp As New Excel.Application
- Dim xlsBoo As Excel.WorkBook
- Dim xlsSheet As Excel.WorkSheet
-
- Set xlsBook = xlsApp.WorkBooks.Open(目錄)
- Set xlsSheet= xlsBook.WorkSheets(1)
使用之后要進(jìn)行清空:Set xlsApp = Nothing ,下面介紹一個(gè)小例子來(lái)具體學(xué)習(xí)一下在VB中如何使用Office,我們以Excel為例介紹。
看如下代碼:
- '******************創(chuàng)建一個(gè)Application對(duì)象***********************
- Dim ExcelApp As Excel.Application
- '后綁定
- Set ExcelApp = CreateObject("Excel.Application")
- '設(shè)置為可見(jiàn)
- ExcelApp.Visible = True
- '******************向Excel中寫(xiě)入數(shù)據(jù)****************************
- ExcelApp.Workbooks.Add
- With ExcelApp.ActiveSheet
- '將控件MSHFlexGrid顯示的內(nèi)容寫(xiě)入Excel中
- Dim i As Integer, j As Integer
- For i = 1 To MSHFlexGrid1.Rows
- For j = 1 To MSHFlexGrid1.Cols
- .Cells(i, j).Value = MSHFlexGrid1.TextMatrix((i - 1), (j - 1))
- Next j
- DoEvents
- Next i
- End With
- '*****************關(guān)閉并清空************************************
這是在VB中將MSHFlexGrid控件的內(nèi)容寫(xiě)入Excel中的簡(jiǎn)單代碼,重點(diǎn)是引用和創(chuàng)建對(duì)象。
下面,我們介紹VBA與Office。
打開(kāi)Word文檔,Alt+F11打開(kāi)VBA界面,我們可以向Word中添加Command等一些控件,可以添加代碼設(shè)置屬性,創(chuàng)建宏!這是工程資源管理器,和VB幾乎沒(méi)有什么大的差別,主要的對(duì)象是Office!同樣還有屬性窗口,代碼編輯器,工具箱等。
VBA(Visual Basic for Applications)是一種Visual Basic的一種宏語(yǔ)言,主要能用來(lái)擴(kuò)展Windows的應(yīng)用程式功能,特別是Microsoft Office軟件。它是一種自動(dòng)化語(yǔ)言,它可以使常用的程序自動(dòng)化,可以創(chuàng)建自定義的解決方案,提高了使用Word、Excel等的效率~~~
VB中使用Office時(shí)需要引用,VB和Office是兩個(gè)獨(dú)立的程序聯(lián)系,而VBA則是主要在Office等應(yīng)用程序中使用,VBA需要依賴(lài)于父應(yīng)用程序!VB是設(shè)計(jì)應(yīng)用程序,VBA是使已有的應(yīng)用程序自動(dòng)化,就是說(shuō)VBA是VB的一個(gè)子集。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。