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

基于Labview環境的ActiveX編程實例

2016-12-31 00:00:00古萍王亮馮磊葉一鳴鄭有生宋志英張植麗
科技創新與應用 2016年19期

摘 要:隨著計算機測控技術的發展,測試報表的自動化生成已變得相當容易,并成為測控軟件中的一個重要組成部分。它不僅能使測試時間大為縮減從而提高測試速度,而且能避免手工生成報表時的人為錯誤從而提高測試準確度,所以將測試結果形成報表并存儲成Word或Excel文件,將是最受用戶歡迎的。Labview中有專門的報表模塊,可以實現簡單報表功能,但使用不是很靈活,難以滿足較高的報表要求。文章主要講述了Labview中利用ActiveX技術實現測試報表(Word或Excel格式)的自動化生成功能。

關鍵詞:Labview環境;ActiveX技術;Word、Excel常見功能

1 概述

1.1 Labview環境

Labview是一種基于“虛擬儀器”的可視化編程環境,核心概念是“軟件即儀器”,特別強調軟件在測控系統中的作用。利用Labview編制的程序包括前面板界面與程序框圖兩部分,其操作和功能模擬了現實世界中的儀器,因此被稱為VI(Virtual Instrument/虛擬儀器)。

Labview的優勢主要體現在以下幾個方面:

(1)提供了豐富的圖形控件,并采用圖形化的編程方法,徹底把工程師們從復雜苦澀的文本編程工作中解放出來。

(2)內建的編譯器在用戶編寫程序的同時就在后臺自動完成了編譯。因此用戶在編寫程序的過程中如果有語法錯誤,它會被立即顯示出來。

(3)通過應用程序生成器可以輕松地發布EXE、動態鏈接庫或安裝包。

(4)由于采用數據流模型,它實現了自動的多線程,從而能充分利用處理器尤其是多處理器的處理能力。

(5)通過DLL、CIN節點、ActiveX、NET或MATLAB腳本節點等技術,可以輕松實現Labview與其他編程語言混合編程。

(6)提供了大量的驅動與專用工具,幾乎能與任何接口的硬件輕松連接。

(7)內建了600多個分析函數,用于數據分析和信號處理。

(8)NI同時提供了豐富的附加模塊,用于擴展Labview在不同領域中的應用。

1.2 ActiveX技術

ActiveX是微軟公司推出的一個技術集的統稱,這項技術可以使用戶重用代碼,并能將多個程序連接在一起實現復雜的計算需求。它基于COM(Component Object Model/組件對象模型)技術。ActiveX是較早的OLE(Object Linking and Embedding)技術的擴展。作為ActiveX核心的COM是一個以處理所有軟件組件開發阻礙為目的的標準,它希望最終建立一個大型的組件庫,使軟件工程師能像硬件工程師一樣通過搭建組件的辦法開發應用程序。

在Labview環境下ActiveX編程基本思路如圖1所示。首先打開ActiveX生成主對象,然后由主對象生成其他所需的子對象,通過設置這些對象的各種屬性、調用對象的各種方法以及處理對象的各種事件來實現程序所需功能,最后將所有對象關閉,所有的這些操作都通過對象標識關聯到一起。

打開ActiveX對象、訪問ActiveX對象的屬性方法、注冊事件等都需要利用Labview提供的ActiveX操作函數(位于程序框圖內Functions Palette面板的Communication|ActiveX子菜單)。

其中主要函數的功能如表1所示。

2 ActiveX編程實例

2.1 調用Word編程

2.1.1 打開或新建Word文檔

打開Word應用程序對象(Word._Application)是所有Word相關操作的首要條件。Word._Application對象表達了Word應用程序框架,直接利用Automation Open函數就可打開Word應用。

程序對象從而打開Word應用程序,關鍵是找出Word應用程序對象標識(Automation Refnum)。首先放置Automation Open函數在程序框圖中,右鍵單擊該函數圖標左側的Automation Refnum端子,選擇Create|Control選項,創建一個Automation Open控件,右鍵單擊該控件并選擇Select ActiveX Class|Browse選項打開如圖2所示的ActiveX對象選擇對話框,在Type Library中選擇Microsoft Word * Object LibraryVersion*,在Objects中選擇Application (Word.Application.*),單擊OK按鈕即可完成了Automation Refnum控件與Word Application的連接。下面只要將Automation Refnum輸出與Property Node或Invoke Node連接就可以獲得該對象的屬性和方法,從而實現對Word的操作:首先通過Word._Application的Visible屬性來使Word程序界面可見,其次通過Word._Application的Documents屬性獲得Word.Documents對象的參考,再次通過Word.Documents對象的不同方法決定是打開還是新建文檔(圖3是通過Documents對象的Open方法打開一個已經存在的Word文檔;圖4是通過Documents對象的Add方法新建一個Word文檔)。

2.1.2 添加文本段落

打開或新建一個Word文檔后,就可以對其進行添加文字、插入表格等操作了。Word的操作是在一個Selection對象上進行的,Selection對象相當于光標選取的一段內容(文字、圖、表),Selection對象有Start和End屬性,可以對Selection對象的位置定位,也可以通過設置其子對象Range的Start和End屬性達到同樣目的。Range對象和Selection對象的大多屬性和方法通用,一般用Range對象來編程。如果是要在某處添加文本、圖、表等,則需要將Start和End屬性設定為同一值,即將光標定位于某處。

下面在圖3所示的打開一個存在的文檔中添加文本段落,如圖5所示。

添加段落:段落對象為Paragraph,添加段落就是增加一個新的Paragraph對象。在圖5中,首先打開了一個文檔然后在Selection對象上進行添加文字操作,但是在進行Selection操作之前將Documents對象經Application應用程序獲得Selection對象。可以看出,通過Selection對象獲得Ranges屬性,然后生成Range對象,調用其InsertParagraphAfter方法在其后插入一個段落,然后設置Text屬性輸入文本,并對文本段落的格式(圖中為首行縮進位置)和文本字體進行設置,最后將光標定位于末尾。光標定位于末尾的方法就是將文檔對象的End屬性值傳遞給Selection對象的Start屬性。

2.1.3 添加表格

下面生成一個空表格,并可對表格的一些屬性進行調節,包括允許表格斷頁顯示、表格的行數和列數、列寬、邊框是否可見以及表格位置(居左、居中、居右)設置等,如圖6所示。

該程序首先通過Documents對象的Add方法創建一個新文檔,然后在Selection對象上進行添加表格操作,但是在進行Selection操作之前將Documents對象經Application應用程序獲得Selection對象。通過Selection對象轉換為Word._Document獲得Tables屬性,然后生成Tables對象。利用Tables對象的Add方法,同時設置好行數、列數,這樣就在文檔上生成了一個表格,最后對表格的寬度和邊框是否可見進行設置。

2.1.4 保存和關閉

文檔的保存通過調用Document對象的Save As或Save方法實現,第一次存盤用Save As,以后的存盤用Save,文檔的關閉則用Close方法完成,如圖7所示。

Save As方法的參數均有默認值,可以不用設置而直接使用默認值。若需要換名保存則需要設置FileName參數,其含義為文檔名稱(包含路徑),默認值是當前文件夾和文件名,如果從未保存過此文檔,則使用默認的文件名,如果指定路徑和名稱的文檔已存在,則覆蓋此文檔,而且在覆蓋時不提醒。

2.2 調用Excel編程

下面通過Microsoft Excel 12.0 Object Library提供的Excel ActiveX對象對Excel的操作。首先放置Automation Open函數在程序框圖中,右擊函數圖標的Automation Open端子,選擇Create|Control選項,創建一個Automation Open控件,右擊該控件并選擇Select ActiveX Class|Browse選項打開如圖2所示的ActiveX對象選擇對話框。

在該對話框中選擇Microsoft Excel 12.0 Object Library中的Application對象。單擊OK按鈕就完成了Automation Refnum控件與Excel Application的連接。下面只要將Automation Refnum輸出與Property Node或Invoke Node連接就可以獲得該對象的屬性和方法,從而實現對Excel的操作,如圖8所示。

首先通過Excel.Application的Visible屬性來打開Excel程序界面,再通過它的Workbooks屬性獲得Excel.Workbooks對象的參考;再通過該Workbooks對象的Add方法新建一個工作薄,Add方法返回的是新建工作薄的引用,通過該引用的Sheets屬性獲得當前工作薄下的表單對象的引用;通過Excel.Sheets對象的Item方法獲得其中一個表單,該方法返回的變量數據,需要將其轉換為Excel._WorkSheet引用。通過Worksheet對象的Range對象(Range表示一個范圍,可以是一個單元格,也可以是一行、一列、或者多個單元格的集合),然后通過改寫Range對象的Value2屬性實現對該單元格寫入數據。

最后以上所有程序都是通過Close Reference函數關閉所有打開對象的引用。

3 結束語

文章以圖解實例形式說明了LabVIEW利用ActiveX技術自動化生成測試報表(Excel或Word格式)的典型思路和步驟,所形成的子程序具有通用性。

參考文獻

[1]戴鵬飛,王勝開,王格芳,等.測試工程與LabVIEW應用[Z].

作者簡介:古萍(1983-),女,漢族,本科,工程師,現在中航工業洪都集團公司從事無線電專業的測試工作。

王亮(1980-),男,漢族,本科,工程師,現在中航工業洪都集團公司從事無線電專業的測試工作。

馮磊(1985-),男,漢族,本科,工程師,現在中航工業洪都集團公司從事飛控專業的測試工作。

葉一鳴(1985-),男,漢族,本科,工程師,現在中航工業洪都集團公司從事無線電專業的測試工作。

鄭有生(1983-),男,漢族,專科,高級技師,現在中航工業洪都集團公司從事無線電專業的測試工作。

宋志英(1979-),女,漢族,專科,技師,現在中航工業洪都集團公司從事無線電專業的測試工作。

張植麗(1989-),男,漢族,本科,助工,現在中航工業洪都集團公司從事無線電專業的測試工作。

主站蜘蛛池模板: 国产欧美日韩在线在线不卡视频| 99热国产这里只有精品无卡顿"| 伊人蕉久影院| 青青操国产| 日本国产在线| AⅤ色综合久久天堂AV色综合 | 无码中文AⅤ在线观看| 国产精品美女免费视频大全| 国产精品专区第1页| 亚洲婷婷六月| 国产在线观看91精品| 乱系列中文字幕在线视频 | A级全黄试看30分钟小视频| 伊人中文网| 日本欧美精品| 91福利一区二区三区| 国产系列在线| 国产日韩精品一区在线不卡| 国产国拍精品视频免费看 | 国产在线第二页| 伊人91在线| 国产一区在线观看无码| 婷婷伊人久久| 人妻无码中文字幕第一区| 久久久久亚洲AV成人人电影软件| 精品国产香蕉在线播出| 手机永久AV在线播放| 国产精品一区不卡| 久久久久亚洲精品成人网| 中字无码av在线电影| 亚洲一级色| 欧美国产在线一区| 性欧美在线| 免费无码在线观看| 人妻精品全国免费视频| 无码又爽又刺激的高潮视频| 亚欧美国产综合| 特级毛片免费视频| 国产成人免费| 国产一区自拍视频| 午夜国产精品视频| 99热这里只有精品在线播放| 亚洲色精品国产一区二区三区| AV不卡国产在线观看| 成人91在线| 国产小视频a在线观看| 亚洲精品第1页| 久久免费看片| 婷婷亚洲视频| 色偷偷综合网| 伊人久久婷婷五月综合97色| 亚洲人成网站在线观看播放不卡| 九九九久久国产精品| 无码网站免费观看| 日韩AV无码免费一二三区| 久久这里只精品热免费99| 婷婷亚洲天堂| 国产成人一区在线播放| 国产迷奸在线看| 国产尹人香蕉综合在线电影| 在线观看无码av五月花| 伊人久综合| 久久婷婷人人澡人人爱91| 国产成人三级在线观看视频| 国产情侣一区二区三区| 亚洲第一天堂无码专区| 99视频在线免费| 亚洲色欲色欲www网| 久久久久人妻精品一区三寸蜜桃| 国产亚洲精品资源在线26u| 色窝窝免费一区二区三区| 日韩国产亚洲一区二区在线观看| 色网在线视频| 亚洲性日韩精品一区二区| 色播五月婷婷| 久久人午夜亚洲精品无码区| 亚洲欧美另类视频| 日本高清免费一本在线观看| 成人年鲁鲁在线观看视频| 国模极品一区二区三区| 欧美午夜网| 免费国产一级 片内射老|