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-),男,漢族,本科,助工,現在中航工業洪都集團公司從事無線電專業的測試工作。

主站蜘蛛池模板: 婷婷综合色| 日本尹人综合香蕉在线观看| 免费av一区二区三区在线| 国产精品自拍合集| 久久精品日日躁夜夜躁欧美| 国产区免费| 欧美在线黄| 亚洲精品天堂自在久久77| 久久精品国产999大香线焦| 福利在线免费视频| 美女高潮全身流白浆福利区| 婷婷色一二三区波多野衣| 2021国产在线视频| 又猛又黄又爽无遮挡的视频网站| 99视频有精品视频免费观看| 日韩二区三区无| 亚洲中文久久精品无玛| 国产精品一区在线观看你懂的| 免费xxxxx在线观看网站| 熟女日韩精品2区| 日本精品影院| 国产午夜福利片在线观看| 91极品美女高潮叫床在线观看| 欧美v在线| 日韩成人在线一区二区| 亚洲 欧美 偷自乱 图片 | 特级精品毛片免费观看| 亚洲第一香蕉视频| 欧美a在线看| 日本高清免费不卡视频| 久久一本精品久久久ー99| 亚洲综合亚洲国产尤物| 高清无码手机在线观看| 91久久国产综合精品女同我| 亚洲无码视频图片| 中文字幕波多野不卡一区| 国产乱视频网站| 99热亚洲精品6码| 国产成人精品第一区二区| 亚洲男女在线| 久久这里只有精品国产99| 日本午夜在线视频| 国产精品亚洲专区一区| 日本欧美一二三区色视频| 久久99蜜桃精品久久久久小说| 欧美成人A视频| 亚洲第一黄色网| 欧美一级大片在线观看| 毛片a级毛片免费观看免下载| 男人天堂伊人网| www.亚洲国产| 男人天堂伊人网| 一级毛片在线免费视频| 青青青国产精品国产精品美女| 国产精品原创不卡在线| 55夜色66夜色国产精品视频| 国产精品色婷婷在线观看| 国产欧美精品一区aⅴ影院| 亚洲人成色77777在线观看| 久久亚洲国产一区二区| 日韩精品无码免费一区二区三区 | 免费观看无遮挡www的小视频| 青青青视频蜜桃一区二区| 风韵丰满熟妇啪啪区老熟熟女| 国产亚洲精| 国语少妇高潮| 尤物精品视频一区二区三区| 亚洲手机在线| 亚洲91精品视频| 国产一级片网址| 亚洲v日韩v欧美在线观看| 国产JIZzJIzz视频全部免费| 亚洲综合色婷婷中文字幕| 国产成人91精品| 亚洲国产天堂在线观看| 91国内视频在线观看| 久久99久久无码毛片一区二区| 欧美成a人片在线观看| 美女无遮挡免费视频网站| 亚洲人在线| 欧美国产日产一区二区| 中文字幕第4页|