<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 關于Labview里對excel的編程

          關于Labview里對excel的編程

          作者: 時間:2017-01-06 來源:網(wǎng)絡 收藏
          這里只討論通過Activex的方法,因為只有這種方法,才能完全發(fā)揮Excel的所有強大的功能。
          首先,Labview是有一些自帶的關于Excel編程的例子的。在find example里search一下,有挺多的,其中有一個叫write table to XL.vi,我最早就是跟著它學的。學了不少,也被誤導了很久,其實也不能算誤導,只是以前沒花時間去研究。最近在用Labview寫一個類似ERP一樣的軟件,接觸很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的認識了。
          先來看看write table to XL這個程序:這個程序的目的就是把一個2維數(shù)組(表格)里的內(nèi)容寫到excel里。
          從上圖看,步驟大致是這樣的,先打開excel,再打開一個workbook,然后打開worksheet,這實際上跟咱們使用excel的過程是一樣的。打開worksheet以后,它還定義了行與列的header,最后才把table里的數(shù)據(jù)寫到excel里。那個cell value子vi,我是從開始就用它,也像這個例子一樣,每次寫都是套倆for loop,然后往excel里邊猛寫。最近我才發(fā)現(xiàn),原來有其他的方法,可以一次性寫一個二維數(shù)組進去,非常快。其實想想也是,不至于會那么傻了。不過也怪VBA里太多的屬性和方法,不容易找。
          前邊的打開excel workbook和worksheet我就不說了,例子里就有,可以新建一個workbook和sheet,也可以打開現(xiàn)有的,這個在excelexample.llb里都能找到。(excelexample在哪里?這個……,打開這些個VI,saveas一下就知道在哪里了,ok?)
          接下來說一下這幾天找到的幾個方法和屬性。首先是Insert,插入行或者列(就像你在excel里右鍵插入一樣,每次只能一行或者一列,要多行的話,只能多來幾次了,是這樣吧?)在說這個之前,先說下怎么找這些屬性和方法,在Excel里,打開VB編輯器(工具-》宏-》VB 編輯器,excel2007是在菜單開發(fā)工具下,我用的是Excel2007),打開以后看VB語言參考,重點就是里邊的方法和屬性,對應在Labview里邊的Property和Method節(jié)點。help里可以搜索,輸入insert,可以看到很多,沒辦法,不熟悉只能一個一個看咯??吹絩ange.insert方法以后,去和Labview的比對一下。
          可以看到這就是我們需要的方法了。因為改方法是在Range下的,所以要先打開相應的range,才能用Insert,這就相當于我們在Excel里,需要在哪里插入一樣的道理。而Shift參數(shù),看VBA里的描述,它是一個常量,是指定單元格的移動方向,點XLInsertShiftDirection就可以看到這個常量的數(shù)值,在這里我就不貼圖了。
          接下來講最有成就感的發(fā)現(xiàn),如何一次性讀取或寫入一定范圍(若干行若干列)的數(shù)據(jù)?當然不能用cell.value來寫了。有的朋友可能已經(jīng)發(fā)現(xiàn)了。就是用Range Value來實現(xiàn),這一點在VBA里沒有寫清楚,它給的例子還是相當于cell value一樣,只是一個單元格的值,而實際上,應該是你指定的Range里所有單元格的數(shù)值。
          如上圖,range方法包含兩個參數(shù)cell1和cell2,所以range這個范圍就是cell1到cell2的范圍,比如B1到C5,這不就是一個2維數(shù)組了么?對,就是這樣。
          Range.value有兩個,一個get,一個put,對應于讀和寫。如果cell2不連,那么就是只有一個單元格的值,那么這時候出來的就不是2維數(shù)組,而是一個數(shù),連2維數(shù)組上去就會出錯了。
          還有其他很多方法和屬性,比如合并、拆分單元格,超鏈接,還有l(wèi)oad,saveas之類的,這些都可以去參考VBA,再自己稍加研究,都是能找到的。


          關鍵詞: Labviewexcel編

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();