注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

tanhong的個(gè)人空間 http://ctxi.cn/?49992 [收藏] [復(fù)制] [分享] [RSS]

日志

ACCESS中操作EXCEL對(duì)象講解

熱度 3已有 4586 次閱讀2009-8-30 22:03 |個(gè)人分類(lèi):ACCESS作品|

  OFFICE是由ACCESS、EXCEL、WORD應(yīng)用程序軟件的集合成軟件,我們把每個(gè)軟件也應(yīng)稱(chēng)之組件或是應(yīng)用程序,各應(yīng)用程序的最上層對(duì)象為 Application對(duì)象,我們就是通過(guò)該對(duì)象來(lái)實(shí)現(xiàn)與Office其它各應(yīng)用程序進(jìn)行交流的。

  我們?cè)?/FONT>ACCESS中操作EXCEL對(duì)象,首先建立一個(gè)Excel.Application 對(duì)象,就可以象在EXCEL中進(jìn)行編程一樣,在ACCESS實(shí)現(xiàn)對(duì)EXCEL對(duì)象的操作。

1.引用EXCEL項(xiàng)目庫(kù)名

  要實(shí)現(xiàn)對(duì)EXCEL對(duì)象的操作,我們必須引用當(dāng)前版本的EXCEL項(xiàng)目庫(kù),以2003版為例,引用的EXCEL項(xiàng)目庫(kù)名為:Microsoft Excel 11.0 Object Library,具體操作步驟如下:

2.錄制宏代碼
  這一步驟主要是針對(duì)EXCEL代碼不是很熟的朋友,當(dāng)然對(duì)于有一定功底的EXCEL朋友,也可以通過(guò)錄制來(lái)完成代碼書(shū),這樣可以提高一定的工作效率,還可以在EXCEL中校驗(yàn)一下代碼正確與否。

說(shuō)明:如果你對(duì)于書(shū)寫(xiě)EXCEL對(duì)象操作代碼已經(jīng)具備的實(shí)足的把握,你可以直接跳到下一小節(jié),而不必在本小節(jié)浪費(fèi)時(shí)間。
 
  實(shí)例演示EXCEL中完成所述操作:在Shee1單元A1輸入字符串“江羽ACCESS中操作EXCEL對(duì)象演示!”,設(shè)定字體的字號(hào):16,字體:仿宋加粗,顏色為:橙色。

宏錄制過(guò)程如下:


錄制完后整理好的有效代碼如下:

    ActiveCell.FormulaR1C1 = "江羽ACCESS中操作EXCEL對(duì)象演示!"

    With Selection.Font

        .Name = "仿宋_GB2312"

        .Size = 16

        .Bold = True

        .ColorIndex = 46

    End With

 

說(shuō)明:以上代碼將是我們下一步要放在ACCESS中使用的EXCEL對(duì)象操作代碼。為了了解每句代碼的意義,你可以VBE窗口中按F8來(lái)逐句調(diào)試,對(duì)于沒(méi)有用的代碼可以刪除。

 

3.Access使用Excel對(duì)象

為了在ACCESS中使用EXCEL對(duì)象,我們?cè)诖酥耙昧?/SPAN>EXCEL對(duì)象類(lèi)庫(kù),但僅僅是引用了類(lèi)庫(kù)我們還不能直接操作EXCEL對(duì)象,我們還必須在EXCEL代碼中申明并實(shí)例化EXCEL應(yīng)用程序Application對(duì)象。

 

3.1設(shè)置EXCEL的應(yīng)用程序?qū)ο蠓椒?/SPAN>

我們可以通過(guò)兩種方式來(lái)定義或設(shè)置EXCEL應(yīng)程序?qū)ο蠼o自定義的對(duì)象變量,方法如下:

  •        使用New關(guān)鍵字

Dim xlApp As New Excel.Application

  •        使用CreateObject函數(shù)

Dim xlApp As Excel.Application

Set xlApp = CreateObject("Excel.Application")

特別說(shuō)明:

如果EXCEL處于打開(kāi)狀態(tài),或是已在執(zhí)行中,可以使用GetObject函數(shù)直接將定義的XlApp對(duì)象設(shè)置為當(dāng)前EXCEL應(yīng)用程序?qū)ο,如下?/SPAN>

Dim xlApp As Excel.Application

Set xlApp =GetObject(, "Excel.Application")

 
3.2 創(chuàng)建EXCEL對(duì)象實(shí)例演示

ACCESS新建一個(gè)窗體FrmMain ,創(chuàng)建一個(gè)按鈕命名: CmdRun ,設(shè)定按鈕的標(biāo)題Caption屬性為:演示,在按鈕單擊 [事件] 中加入用以運(yùn)行演示過(guò)程代碼。

 

過(guò)程代碼:

Sub OpenXlApp()

     Dim xlApp As Excel.Application   '申明EXCEL應(yīng)用程序?qū)ο?/SPAN>

    '設(shè)置應(yīng)用程序?qū)ο髮?shí)例

    Set xlApp = CreateObject("Excel.Application")

    xlApp.Visible = True    '顯示EXCEL應(yīng)用程序

    xlApp.Workbooks.Add  '新增一個(gè)EXCEL工作簿

   

   '以下部分為EXCEL錄制宏錄制整理后所得代碼

    ActiveCell.FormulaR1C1 = "江羽ACCESS中操作EXCEL對(duì)象演示!"

    With Selection.Font

        .Name = "仿宋_GB2312"

        .Size = 16

        .Bold = True

        .ColorIndex = 46

    End With

    '退應(yīng)用程序并釋放內(nèi)存

    xlApp.Quit

    Set xlApp = Nothing

End Sub

 

 

3.3 操作指定的EXCEL對(duì)象實(shí)例演示

打開(kāi)一個(gè)已有的EXCEL工作簿,實(shí)例假定文件名為 MyBook.xls ,EXCEL文件存放在C盤(pán)中,并完成在該工作簿中A1單元格中寫(xiě)入如之前實(shí)例中格式的字符串。

過(guò)程代碼:

 

Sub OpenxlBook()

 '申明EXCEL應(yīng)用程序?qū)ο蟛⒓尤?/SPAN>New關(guān)鍵字實(shí)例化對(duì)象

    Dim xlApp As New Excel.Application

 '申明EXCEL工作簿對(duì)象

    Dim xlBook As Excel.Workbook

  '設(shè)置工作簿對(duì)象為指定的工作簿

  Set xlBook = xlApp.Workbooks.Open("C:\mybook.xls")

    xlApp.Visible = True  '顯示EXCEL應(yīng)用程序

 

    '以下部分為EXCEL錄制宏錄制整理后所得代碼

    ActiveCell.FormulaR1C1 = "江羽ACCESS中操作EXCEL對(duì)象演示!"

    With Selection.Font

        .Name = "仿宋_GB2312"

        .Size = 16

        .Bold = True

        .ColorIndex = 46

    End With

  

   '退應(yīng)用程序并釋放內(nèi)存

   xlApp.Quit

   Set xlApp = Nothing

End Sub

 

 

(全文結(jié)束) 

剛表態(tài)過(guò)的朋友 (0 人)

發(fā)表評(píng)論 評(píng)論 (2 個(gè)評(píng)論)

回復(fù) lovesorare 2009-9-16 19:11
路過(guò)!
回復(fù) roych 2010-11-27 14:12
應(yīng)該寫(xiě)上Err語(yǔ)句以便GetObject的運(yùn)行。
IF Err=429 then……

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 08:28 , Processed in 0.077559 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部