999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OLE的報表打印方案設計與實現

2011-10-19 06:33:34
大眾科技 2011年8期
關鍵詞:設置方法

馬 健

(開灤一中,河北 開灤 063000)

基于OLE的報表打印方案設計與實現

馬 健

(開灤一中,河北 開灤 063000)

文章針對VB6.0開發中遇到的復雜報表打印問題,提出了一種基于OLE中Excel自動化技術的解決方案。并首先描述了這種解決方案的理論基礎,接著又以科研管理信息系統課題錄制作功能的實現為例介紹了這種解決方案的具體實現。通過實際運行科研管理信息系統,驗證了這種解決方案的可行性。

報表打印;OLE自動化;Excel

1 引言

用Visual Basic開發應用程序時,難免會遇到打印復雜型報表的問題,這類報表一般具有復雜的表頭,表格樣式怪異,每行可能多條記錄,有較復雜的計算公式,有大量的文本信息等特點。特別是在大中型管理信息系統的開發過程中這類報表的設計開發往往占據了開發總量的很大部分工作量。因此,找到一種高效、方便、通用的報表設計方法已迫在眉睫。為了解決上述問題,筆者對于這類報表打印功能的實現采用了OLE自動化技術,通過對Excel使用OLE自動化,可以在管理信息系統中創建任意外觀的Excel報表。

2 OLE自動化

OLE代表“對象連接與嵌入自動識別”,是一項用于實現和擴展動態數據交換的技術。利用OLE技術,在一個Windows應用程序中可以啟動其它Windows應用程序,也可以顯示和控制其它Windows應用程序的數據,并在創建數據的程序中對它進行編輯。OLE自動化是應用程序向支持OLE自動化功能的開發工具、宏語言等展示其OLE對象的一種工業標準,當一個應用程序支持OLE自動化時,它所具有的對象就可以用VB進行存取控制,通過激活對象上的方法或設置其屬性來操縱對象。目前,除VB以外,支持OLE自動化的應用程序主要有Microsoft Word、Microsoft Excel等。

下面主要介紹VB所提供的可訪問、處理Excel中的工作簿和工作表 VBA(Visual Basic for Application)對象,共包含四個對象:Application對象,Workbook對象,Worksheet對象,Range對象。下面對這四個對象及其所提供的屬性和方法作簡要說明。

2.1 Application對象

所有程序都可以使用Application對象,從總體上講,它是指應用程序,因此可以作為所有程序對象的容器。Application對象提供了很多屬性和方法,所有程序都可以訪問它們。

2.2 Workbook對象

VBA允許創建、打開、保存、關閉和刪除工作簿。使用Workbook對象,可以完成所有這些活動。在VBA對象層中,Workbook對象位于Application對象之下。

在VB中要創建新的工作簿,需使用Workbooks集合的Add方法。Add方法的語法如下:

Workbooks.Add([])

這里是可選參數,它可以制定工作簿的模板。的置確定了要創建工作簿的格式。

2.3 Worksheet對象

Worksheet對象提供了幾個屬性、方法和事件。可以使用他們完成一些活動。例如添加、刪除和復制工作表。

使用Worksheet對象的Add方法,可以在工作部中插入新表。該方法的語法如下:

Worksheets.Add(,,,)

如果指定了就會在表之前插入新的工作表。如果指定了就會在表之后插入新表。不可同時指定參數是要插入的工作表數。參數表示工作表的類型, 它的值可以為xlWorksheet、xlExcel4MarcoSheet或xlExcel4IntMacrosheet。

2.4 Range對象

在VBA中,使用Range對象可以訪問和引用工作表中的單元格。Range對象可以是一個單元格、行、列,也可以是單元格的選項。下面對Range對象的幾個主要方法和屬性作簡要介紹。

(1)Range方法

Range方法可以識別單元格或范圍。Range方法的語法如下:

Worksheet.Range()

Worksheet.Range(,)

在第一個語法中,參數是范圍引用或是以文本方式輸入的名字。在第二個語法中,參數分別是單元各種范圍的左上角單元格和右下角單元格。的值可以是單元格地址。Range對象,也可以是整行或整列。

(2)Merge方法Merge方法可以合并指定范圍。Merge方法的語法如下:Worksheet.Range(,).Merge

參數分別是單元各種范圍的左上角單元格和右下角單元格。

(3)Font屬性

可以利用Range對象的Font屬性的屬性來定義字體的大小和顏色。Font的屬性包括 Bold、Color、Index、FontStytle等。

3 應用

3.1 應用步驟

下面將以科研管理信息系統打印課題錄功能的實現為例詳細說明如何利用OLE自動化技術在VB中生成報表。方法是用VB的OLE自動化技術獲取Excel的控制句柄,從而直接控制Excel的一系列操作,利用微軟強大的電子表格工具Excel來實現復雜的報表。其步驟為:

(1)創建三個對象變量,類型分別為Excel.Application、Excel.Workbook和 Excel.Worksheet,分別對應將打開的Excel系統、工作簿和工作表;

(2)調用Excel使其顯示在當前窗口中;

(3)對新的工作表命名;

(4)設計表格的外觀;

(5)設置單元格內文字的字體、大小、顯示位置等;

(6)用FOR-NEXT循環把MSFlexGrid中的記錄逐一寫入Excel單元格中;

(7) 畫出表格輪廓線。

3.2 程序示例

Private Sub Command6_Click()

Dim appexcel As New Excel.Application‘聲明一個Application對象

Dim wbmybook As New Excel.Workbook ‘聲明一個Workbook對象

Dim wsmysheet As New Excel.Worksheet‘聲明一個Worksheet對象

appexcel.Visible = True‘調用Excel使其顯示在當前窗口中

Set wbmybook = appexcel.Workbooks.Add‘創建新的工作簿

Set wsmysheet = appexcel.Worksheets.Add‘創建新的工作表

wsmysheet.Name = "查詢結果"‘對新的工作表命名

wsmysheet.Cells(1, 2).ColumnWidth = 16‘設置單元格的列寬

wsmysheet.Cells(1, 1).RowHeight = 30‘設置單元格的行高

wsmysheet.Range("A1:F1").Merge‘合并單元格

wsmysheet.Range("A1:F10").WrapText = True‘設置單元格內文字可自動換行

‘設置單元格內文字頂行顯示

wsmysheet.Range("A1:F10").VerticalAlignment =xlTop

‘設置單元格內文字居中顯示

wsmysheet.Range("A1:F1").HorizontalAlignment =xlCenter

‘設置單元格內文字居左顯示

wsmysheet.Range("A2:F10").Select

Selection.HorizontalAlignment = xlLeft

‘設置字體外觀

wsmysheet.Range("A1:F1").Select

Selection.Font.FontStyle = "Bold"

Selection.Font.Size = 17

‘ 把MSFlexGrid3中的信息寫到Excel中

For i = 0 To Form5.MSFlexGrid3.Rows - 1

For j = 0 To Form5.MSFlexGrid3.Cols - 1

wsmysheet.Cells(i + 1, j + 1) =Form5.MSFlexGrid3.TextMatrix(i, j)

Next j

Next I

‘畫表格

wsmysheet.Range("A1", "F10").Borders.LineStyle =xlContinuous

End Sub

3.3 運行結果

基于以上程序,可得到如圖1的運行結果。

圖1 運行結果

4 結束語

通過實際運行, OLE自動化技術對于科研管理信息系統打印課題錄的功能的良好實現得到了充分驗證。由于在科研管理信息系統復雜報表的開發過程中采用了 OLE自動化技術,不僅大大提高了整個系統的開發效率,而且顯著增強了該部分程序的復用性和可讀性。同時,用戶可以隨著需求的改變,利用Excel自身的強大功能對報表進行任意修改,從而提高了整個系統的靈活性。這種實現復雜報表打印的方法也可以推廣到其它管理信息系統的開發中。但是OLE自動化技術實現的報表打印在運行速度上仍存在欠缺。

[1] 傅靖,李冬,羅剛君.Excel 2007 VBA開發技術大全[M].北京:電子工業出版社,2008.

[2] 巴威爾.F. VB.NET高級編程[M].北京:清華大學出版社,2002.

[3] 洛邁克斯.P. VB與VBA技術手冊[M].北京:清華大學出版社,2002.

Method Design and of realization Report Print Based on OLE

s: This paper gives a method which base on Excel Automation to deal with some questions about complex report print. At first we give theory base of the resolving method. And then this paper give an example on the resolving method through the realization of the making tasks function in Scientific Research Management Information System.

Report print;OLE Automation ;Excel

TP319

A

1008-1151(2011)08-0033-02

2011-04-18

馬健,男,開灤一中教師。

猜你喜歡
設置方法
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
學習方法
7招教你手動設置參數
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
艦船人員編制的設置與控制
主站蜘蛛池模板: 亚洲综合亚洲国产尤物| 日韩视频福利| 欧美日本在线观看| 国产在线一二三区| 在线综合亚洲欧美网站| 国产SUV精品一区二区6| 夜夜操狠狠操| 精品久久久无码专区中文字幕| 欧美另类图片视频无弹跳第一页| 国产高清毛片| 男女性午夜福利网站| 国产精品一区在线麻豆| 亚洲一区二区三区中文字幕5566| 色爽网免费视频| 亚洲精品男人天堂| 欧美第二区| 日韩国产亚洲一区二区在线观看| 日韩国产精品无码一区二区三区| 一本一道波多野结衣av黑人在线| 国产欧美日韩精品综合在线| 无码精油按摩潮喷在线播放 | 夜夜操国产| 最新国产成人剧情在线播放| 亚洲欧美另类日本| 国产精品久久久久久久久| 国产无码高清视频不卡| 亚洲精品欧美重口| 国产制服丝袜91在线| 五月婷婷导航| 精品国产免费观看一区| 国产电话自拍伊人| 精品综合久久久久久97| 欧美黄网站免费观看| av在线手机播放| swag国产精品| 久久精品66| 五月六月伊人狠狠丁香网| 成人噜噜噜视频在线观看| 亚洲a级毛片| 亚洲国产日韩在线成人蜜芽| 91美女视频在线观看| 奇米影视狠狠精品7777| 欧美亚洲中文精品三区| 色老二精品视频在线观看| 国内精品视频在线| 一级毛片高清| 国产SUV精品一区二区| 精品视频福利| 久久成人免费| 国产在线无码av完整版在线观看| 国产成人综合亚洲欧美在| 久久婷婷综合色一区二区| 国产国模一区二区三区四区| 国产精品成人久久| 亚洲精品中文字幕无乱码| 国产69囗曝护士吞精在线视频| 全部免费特黄特色大片视频| 欧美亚洲一区二区三区在线| 五月婷婷综合色| 青青热久免费精品视频6| 亚洲国产精品成人久久综合影院| 日本福利视频网站| 99久久精品国产麻豆婷婷| 亚洲国产精品无码AV| 毛片三级在线观看| 国产成人禁片在线观看| 日韩欧美成人高清在线观看| 亚洲一级毛片在线播放| 91精品情国产情侣高潮对白蜜| 97国产精品视频自在拍| 综合色天天| 99久久免费精品特色大片| 亚洲永久免费网站| 成人在线综合| 72种姿势欧美久久久大黄蕉| 国产日韩精品欧美一区灰| 色综合综合网| av天堂最新版在线| 国产亚洲精| 欧美97色| 色噜噜在线观看| 日韩av手机在线|