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

用VB調用Excel實現SPD表自動編制

2014-04-29 00:44:03劉紅坤孟德東王小麗
計算機時代 2014年1期

劉紅坤 孟德東 王小麗

摘 要: 檢測電涌保護器(Surge Protection Device,SPD)時,采集到的批量數據需要自動表格化,針對此問題,提出了在Visual Basic(簡稱VB)環境下調用Excel對象編程實現自動制SPD表的方法。分析了VB調用Excel的理論依據和步驟,闡述了自動繪制SPD表的主要設計思想,剖析了自動繪制SPD表的關鍵技術。實踐證明,此方法可行且有效。

關鍵詞: SPD; VB; Excel; 自動制表

中圖分類號:TP399 文獻標志碼:A 文章編號:1006-8228(2014)01-42-02

0 引言

VB是Windows應用程序強有力的開發工具,具有強大的數據處理功能,但VB的報表功能比較弱。而Excel的表格生成功能十分強大且便利,是一個強有力的信息分析與處理工具,又因為Excel的應用程序對象是外部可創建對象,所以可以用VB應用程序來操作Excel,通過兩者結合,能夠快速、簡便地生成復雜的表格。本文通過自動生成SPD表的實例來說明VB控制Excel的具體過程,實現海量的SPD檢測數據類型表的形成[1-2]。

1 Excel對象模型

為了在VB應用程序中調用Excel,必須要了解Excel對象模型。Excel對象模型描述了Excel的理論結構,所提供的對象很多,例如:透視表、圖表等對象,下面將對VB調用Excel的最重要且常用對象作簡要介紹[2-4]。

⑴ Application對象

Application對象是Excel對象模型的頂層,表示整個Excel應用程序。在VB應用程序中調用Excel,就是使用Application對象的方法、屬性和事件。

⑵ Workbook 對象

Workbook對象直接隸屬于Application對象的下層,表示一個Excel工作薄文件。Workbook對象的集合構成Workbooks對象。可以通過Workbooks集合或表示當前活動工作薄的Active Workbook對象訪問Workbook對象。

⑶ Worksheet對象

Worksheet對象包含于Workbook對象中,表示一個Excel工作表。可以通過Worksheets集合來訪問、激活、增加、刪除、更名工作表。

⑷ Range對象

Range對象代表工作表的某一個或多個單元格、某一選定區域等。

⑸ Cells對象

Cells對象包含于Worksheet對象中,表示Excel工作表中的一個單元格。

2 在VB編程環境中調用Excel對象

2.1 在VB中添加對Excel類型庫的引用

為了使VB應用程序能夠訪問Excel提供的類型庫,需要設置對Excel類型庫的引用,在VB6的“工程菜單中選擇“引用”,在對話框中選中“Microsoft Excel 10.0 Object Library”,單擊“確定”按鈕即可。

2.2 在VB中聲明各對象

為了能對Excel操作,用VB編程時首先應對Excel及其工作薄、工作表等對象進行聲明。聲明如下:

Dim biaoapp As Excel.Application 'Excel對象

Dim biaobook As Excel.Workbook '工作簿

Dim biaosheet As Excel.Worksheet '工作表

2.3 在VB中使用對象變量創建Excel對象的引用

在聲明對象變量之后,可用CreateObject函數或GetObject函數給變量賦值或引用已存在的Appliction對象。

Set biaoapp=CreateObject("Excel.Application") '創建Excel對象

Set biaobook=biaoapp.Workbooks.Add

Set biaosheet=biaobook.Worksheets(1)

將對象引用賦予變量后,就可以在VB程序中使用Excel對象的方法和屬性了,根據需要對Excel對象進行各種操作。

2.4 關閉Excel,釋放引用對象

在VB程序中創建完對象引用后,使用對象的方法、屬性和事件后,應該從內存中釋放該對象,通過以下語句來實現:

biaoapp.Quit '結束Excel對象

biaoapp.Workbooks.Close

Set biaoapp=Nothing

Set biaobook=Nothing

Set biaosheet=Nothing

3 VB調用Excel自動制表的設計思想

在SPD的實驗檢測中,需要采集SPD的常規參數和電參數數據。當有批量的SPD需要檢測時,采用人工記錄大量數據的方式,若采集結果散亂無頭緒,將會對下一步的數據處理分析工作帶來極大的不便。如果采用自動生成表格的方式分類記錄數據,使格式統一,明了清晰,則可以快速檢索出所需數據并進行加工處理。還可根據需求將采集到的數據以數據庫的形式存儲,再從庫中查詢到所需數據,自動生成數據電子表格。

Microsoft公司的表格處理軟件Excel,在表格方面有強大的功能,但需要人工編輯、操作才能完成表格的制作。而VB的可擴展性,使調用Excel很方便。因此我們可通過VB6編程直接控制Excel的程序,從而實現自動制表的功能。VB6.0以上版本提供了Excel對象,利用它可將數據庫直接導入Excel工作薄中,然后編程操作,最后輸出所需格式的表格。

4 實例說明用VB調用Excel完成自動制表的關鍵技術

4.1 設置SPD常規參數表

在SPD檢測中,必需記錄SPD標稱放電電流、最大放電電流、最大持續工作電壓、電壓保護水平等參數值,因不同型號的SPD上述參數值各異,因此有必要設置SPD常規參數表。代碼如下:

……

u=1 '定義初始行

v=1

For biaoline=u To u+1

h=1

biaosheet.Rows(biaoline).RowHeight=25 '定義行高

For biaocolu=v To v+6

With biaosheet

.Range(.Cells(biaoline,h), .Cells(biaoline,h+1))

.MergeCells()=True

'每2個單元格合并為一個

.Range(.Cells(biaoline,h), .Cells(biaoline,h+1))

.Borders.LineStyle=1

'設置表框為細實線

If biaoline=u Then

.Range(.Cells(biaoline,h), .Cells(biaoline,h+1))

.Value=title(biaocolu-1)

End If

End With

h=h+2

Next biaocolu

Next biaoline

u=u+page '定義下一頁SPD表的起始行

……

4.2 設置SPD電參數表

在SPD檢測中,還需要記錄SPD的電壓、電流等電參數,不同的SPD電參數是不同的,一個SPD由不同組小模塊構成,小模塊電參數也不同。因此很有必要設置SPD電參數表。設置關鍵代碼如下:

……

For x=starpos To firstpage

For i=starline To starline+3 '小表格的行數

biaosheet.Rows(i).RowHeight=25

For j=a To a+1 '小表格的列數

biaosheet.Columns(j).ColumnWidth=6 '設置列寬

With biaosheet

.Range(.Cells(i,j), .Cells(i,j)).Borders.LineStyle=xlContinuous

'設置邊框為是實線

End With

Next j

biaosheet.Columns(a+2).ColumnWidth=0.8 '設置間隔列寬

Next i

a=a+3

r=x Mod 6

If r=0 Then starline=starline+5

If r=0 Then a=1

Next x

starline=starline+3

……

4.3 打印及預覽

借助預覽及打印生成所需要的工作表后,就可以對Excel發出預覽、打印指令[5]。代碼如下:

……

'設置表的頁邊距

biaosheet.PageSetup.LeftMargin=1.5/0.035

biaosheet.PageSetup.RightMargin=1#/0.035

biaosheet.PageSetup.TopMargin=1/0.035

biaosheet.PageSetup.BottomMargin=1.5/0.035

'打印表格

biaosheet.PrintPreview

biaosheet.PrintOut

……

5 結束語

本文論述了VB編程語言與Excel表格處理軟件相結合的方法,成功地解決了VB在自動繪制表格方面編程難度較大,效率不高的問題。該方法通過在SPD表格設計實例中的應用,充分體現了VB調用Excel設計表格的靈活性,減少了手工設計表格的繁瑣過程,減輕了繁重的工作,避免了重復性的工作,實現了SPD復雜表格的自動輸出功能。在實際工作應用中,尤其對SPD批量數據處理時,對于大量SPD數據表格的自動設計、輸出,將大大提高工作效率,因此利用VB和Excel結合來制作SPD表是一種簡單、經濟又高效的解決方案。

在實際應用中我們發現,自動生成測試數據的電子表和防雷管理平臺還需要銜接起來,即:將測試SPD的數據結果自動導入防雷管理平臺,這個問題有待于進一步研究解決。

參考文獻:

[1] 明日科技編著.Visual Basic從入門到精通(第3版)[M].清華大學出版

社,2012.

[2] 劉永志,陳學煌,段新文.VB調用EXCEL實現報表打印功能[J].甘肅

科技,2005.21(7):84

[3] 劉東.VB控制EXCEL生成報表[J].宜賓學院學報,2005.12:73

[4] 楊元法.VB訪問Excel的幾種方式[J].Computer Era,2002.10:34

[5] 魏彩喬,王曉光,焦滿囤.基于VB和EXCEL的復雜數據報表輸出[J].

華北航天工業學院學報,2005.15(1):7

主站蜘蛛池模板: 国产精品手机在线观看你懂的| 精品国产自在现线看久久| 91精品啪在线观看国产60岁 | 日韩精品专区免费无码aⅴ| 免费全部高H视频无码无遮掩| 国产成人a在线观看视频| 欧美69视频在线| 精品午夜国产福利观看| 日韩精品专区免费无码aⅴ | 青青国产成人免费精品视频| 国产人妖视频一区在线观看| 亚洲日韩每日更新| 老司机久久精品视频| 亚洲一区免费看| 国产鲁鲁视频在线观看| 亚洲视频免| 在线看国产精品| 国产精品区视频中文字幕| 久久精品国产91久久综合麻豆自制| 无码精品国产dvd在线观看9久 | 欧美黑人欧美精品刺激| 丁香婷婷综合激情| 日本91在线| 国产成人高清精品免费5388| 国产成人精品在线| 在线不卡免费视频| 人与鲁专区| 影音先锋丝袜制服| 国产精品黄色片| 欧美a在线视频| 91在线无码精品秘九色APP| 欧美国产日韩在线播放| 亚洲a级毛片| 成人在线综合| 激情综合网址| aⅴ免费在线观看| 国产成人一区| 青青久在线视频免费观看| 国产精品部在线观看| 国产三级成人| 国产精品永久免费嫩草研究院| 五月婷婷综合网| 这里只有精品免费视频| 日韩欧美国产综合| 国产极品粉嫩小泬免费看| 美臀人妻中出中文字幕在线| 欧美精品啪啪一区二区三区| 天堂网国产| 伊人久久综在合线亚洲2019| 免费av一区二区三区在线| 国产在线观看91精品| 精品福利国产| 欧美一区二区精品久久久| 久视频免费精品6| 毛片视频网址| 久久semm亚洲国产| 日本五区在线不卡精品| 欧美精品另类| 亚洲精品国产成人7777| 国产不卡在线看| 日本黄色a视频| 亚洲欧洲综合| 国产高清精品在线91| 中文字幕在线一区二区在线| 九色免费视频| 欧美中文字幕在线视频| 国产伦精品一区二区三区视频优播| AV在线天堂进入| 国产原创自拍不卡第一页| 波多野结衣中文字幕久久| 国产日本一线在线观看免费| 99久久精彩视频| 中文字幕免费在线视频| 综合久久久久久久综合网| 区国产精品搜索视频| 538精品在线观看| 91国语视频| 国产v欧美v日韩v综合精品| 人妻少妇乱子伦精品无码专区毛片| 亚洲日本中文字幕乱码中文| 免费A级毛片无码免费视频| 亚欧美国产综合|