LabVIEW中向Excel写入数据
- 格式:doc
- 大小:164.99 KB
- 文档页数:4
在LABVIEW中实现对数据库表格的操作摘要:利用LabVIEW 数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。
本文试图通过LABVIEW对数据库进行操作,在LABVIEW中建立学生成绩查询系统。
关键词:引言:现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有SQL Server、Oracle、DB2、Sybase ASE、Visual ForPro、Microsoft Access等。
Microsoft Access是在Windows 环境下非常流行的桌面型数据库管理系统,它作为Microsoft office组件之一,安装和使用都非常方便,并且支持SQL 语言,所以本文将基于Access 来介绍LABVIEW在数据库中的的操作。
在利用NI公司的附加工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。
该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。
它的优点是易于理解,操作简单,用户可以不学习SQL语法。
LabVIEW SQL Toolkit(又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。
其主要的功能如下:(1)支持ADO所支持的所有的数据库引擎;(2)支持所有与ODBC或OLE DB兼容的数据库驱动程序;(3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库;(4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性;(5)与SQL兼容;(6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作;(7)用户可以完全不需要学习SQL语法。
LabVIEW中向Excel写入数据这里只讨论通过Activex的方法,因为只有这种方法,才能完全发挥Excel的所有强大的功能。
首先,Labview是有一些自带的关于Excel编程的例子的。
在find example里search一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。
先来看看write table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。
从上图看,步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。
打开worksheet 以后,它还定义了行与列的header,最后才把table里的数据写到excel里。
那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开excel workbook和worksheet我就不说了,例子里就有,可以新建一个workbook和sheet,也可以打开现有的,这个在excelexample.llb里都能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
竭诚为您提供优质文档/双击可除labview写入电子表格篇一:labView怎么利用activex读取excel数据[][]在labView中利用activex读取excel数据网络上有很多关于读取excel的例子,但一直没有找到读取文件中整sheet的数据,所以在这里介绍一下在labView 中利用activex读取文件中整张表格的内容.labView中利用activex打开excel分openapplication,openworkbook自动化引用句柄:引用句柄>>自动化引用句柄;2.前面板中右击自动化引用句柄,在选择activex类下选择excel._application此时自动化引用句柄的名称会更新excel._application;3.程序框图中放下打开自动化:右击excel._application>>activex选板>>打开自动化;4.将excel._application连线至打开自动化的左侧自动化引用句柄端;5.程序框图中放下属性节点;(同步骤3)6.将打开自动化的右侧自动化引用句柄端连线至属性节点的引用端;7.单击属性节点的属性,在下拉列表中选择workbooks;8.程序框图中放下调用节点;(同步骤3)9.将步骤7中的workbooks连线至调用节点的引用端;10.单击调用节点的方法,在下拉列表中选择open;11.在open的Filename输入端连接所需打开excel文件的路径;12.同步骤5,放下属性节点,其引用端连接open,然后单击属性节点的属性,在下拉列表中选择worksheets;13.同步骤8,放下调用节点,其引用端连接worksheets,然后单击调用节点的方法,在下拉列表中选择item;14.在item的index输入端创建输入控件,此输入控件代表excel中的sheet#;(例如需要打开文件中的sheet2,可直接连接num2至index输入端)15.程序框图中放下变体至数据转换(同步骤3),将其变体端连接至item;16.同步骤1,在前面板中再次放下自动化引用句柄,然后如步骤2方式在选择activex类下选择excel._worksheet;17.程序框图中,将excel._worksheet连线至变体至数据转换的类型端;18.同步骤5,放下属性节点,其引用端连接变体至数据转换的数据端,然后单击属性节点的属性,在下拉列表中选择usedRange;19.同步骤8,放下调用节点,其引用端连接usedRan(labview写入电子表格)ge,然后单击调用节点的方法,在下拉列表中选择Value(获取);20.同步骤15,放下变体至数据转换,其变体端连接至Value;21.只要在变体至数据转换的类型端连接一个二维的字符型数组常量,就可以在数据端获取表格中的数据了;(连贯的程序如下)22.程序的最后需要closeapplication,closeworkbooks[]实例应用在写一个数据整理工具中用到的事例:data的文件类型可以是.csv或者.xls,其中.csvfile可以通过labView中的读取电子表格文件工具直接读取,而.xls则需要用到Readexcel子Vi来实现.实例框图如下:[前面板]篇二:使用labView读取excel的数值数据使用labView读取excel的数值数据一、题目概述:这是一个基于labview读取excel的数值数据的程序。
最近需要实现在CVI中对Excel文件的读写,参考了几篇论文后,总结下基本上有3种方法:1.DDE(Dynamic Data Exchange);2.ADO(ActiveX Data Objects);3.Microsoft Excel xx.0 Object Library.DDE真是不知道那个角落里的东西,从传说中的Windows 3.x开始就有,直到最新版的Excel还支持这种方法。
资料少的可怜,MSDN上有两篇关于用DDE调用Excel的文章。
根据我的测试,这方法首先是用无论哪种方式打开Excel主程序,然后再对Excel进行连接,连接后通过通用的DDE函数进行数据传递。
我写的程序没有成功,主要在连接的时候经常连接失败,最后在打开Excel程序后加了很多延迟,问题好了很多,但有时候还是莫名其妙的连接失败。
在Excel的写入和读取上,尽管我已经把程序写的和一篇论文很像,但总是出现同一个错误,折腾了几下就放弃这种方法了。
鉴于DDE是接近淘汰的技术,其连接也不可靠,所以不建议使用这种方法。
Microsoft Excel xx.0 ObjectLibrary貌似资料很多,但是鉴于CVI的用户数量,还是别指望太多,MSDN上有VB和C#的实例,如果我没记错的话.至于CVI中的库,真不知道是谁写的,哪都找不到帮助,MSDN上有完整的VB下的手册可以参考,如果装过完整版的Office的话好像会有个中文版的。
用这东西真叫一个烦,大部分函数得看着VB 下的手册猜着怎么用,步骤很繁琐。
用它好处是,几乎可以实现Excel 的所有功能,操作顺序跟实际操作Excel有点像,缺点除了编程繁琐外,就是其版本严格的一一对应,Microsoft Excel 11.0 ObjectLibrary对应的就是Excel 2003,版本高了、低了都不行,甚至有同版本不同Service Pack都不能兼容的情况。
ADO+微软的Jet,可以实现把Excel映射成数据库,用SQL语言来操作Excel。
labview 中excel easy text 无法运行的处理方式不知道从何时起,也许是从重装系统起,excel easy text 就不能执行了,我一直苦于寻求答案,今天在ni 上看到一个原因解答如下面所示:如果是程序执行了一段时间之后错误出现,这个很有可能是由于电子表格的大小达到限制。
在2007 版本之前微软的电子表格限制列数是256 列,行数是65536 行,之后的版本这个限制增加到列数是16384 列,行数是1 百万行。
如果超过这个限制,电子表格就试图访问允许范围外的行或列时,这个错误会出现。
错误- 2146827284 来自Excel_Get_Range VI。
如果限制没有被检测的话,那么在while 循环中往电子表格写数据很快就会超出限制。
报表生成工具包开始支持2007 的1.1.2 版本的办公软件。
以上的解释似乎有道理可是没有解决方式,因此我在gsdzone 上面看到了同样的问题,然后看到版主给出了自己的答案,如下描述:自己到这个函数里,看看哪里出问题了。
因为是调用的Activex,一般可能是属性节点不兼容什么的,自己从新弄下,保存。
这个方案让我想到了以前的也是通过这种方式解决了这样一个问题,下面我们看看这个问题的解决过程:1.双击excel easy text 模块进入2.点击运行按钮弹出错误对话框提示信息,发现问题出在excelset cell color and border 这个模块中,再双击进入该模块,运行后出现错误提示框,进入后面板程序发现有连线点未连线下面是出问题的部分也就是这里有的调用没有连接输入的问题。
但是给color 和linestyle 都加上常量输入后仍然是这个问题,然后根据前面的inside border 输入后的程序来改进,也就是把I32 输出值加在color 上面,如下图所示:。
LabWindows/CVI中调用Excel设计要求:1.启动Microsoft Excel并打开xls文件;2.向xls文件中写入数据;3.根据所填入的数据完成画图功能;4.Xls具有存盘,关闭等功能;5.关闭Microsoft Excel。
利用ActiveX技术进行Excel访问。
ActiveX技术以微软的COM技术为基础,也称之为ActiveX自动化。
ActiveX是一种软件组件,它可以插入到不同的应用程序中,并被当作程序的一部分来使用。
利用ActiveX可以把两个或两个以上的应用程序组合在一起,使其像应用程序一样工作,或者可以在同一应用程序外壳中进行不同应用程序间的切换。
生成自动化仪器驱动器在LabWindows/CVI的工程主窗口中选择Tool/Create ActiveXController,弹出ActiveX Controller Wizard对话框,点击Next进入自动化服务器选择对话框,如图1所示。
选择Microsoft Excel 12.0 Object Library,点击Next进入服务器配置对话框,如图所示。
ActiveX Server 表示已选中的ActiveX服务器名称,Instnmmnt Prefix表示生成驱动器的前缀,可以设置为空或键人有效的C语言标识符,若不输入任何字符,系统会默认产生一个有效的文件名,一般情况下不用修改此属性。
Target.fp File表示CVI产生的.fp文件在磁盘中的存储路径,点击Browse可以查找或定位一个.fp文件。
将Add.fp File To Project选中表示允许把所产生的.fp文件加入当前工程中。
点击Compatibility Options进入兼容选项对话框,通过该对话框选项可以保持所产生的代码源文件与已经存在的ActiveX仪器驱动的向后兼容性,系统默认为Per Property。
点击Next进入高级选项对话框,在高级选项对话框中,点击Advanced Option 将显示高级函数配置对话框,可以通过此对话框来增减ActiveX对象及修改对象的名称和标识符,高级函数一般采用默认配置即可。
卑微如蝼蚁、坚强似大象LabVIEW 中向Excel 写入数据这里只讨论通过Activex 的方法,因为只有这种方法,才能完全发挥Excel 的所有强大的功能。
首先,Labview 是有一些自带的关于Excel 编程的例子的。
在find example 里search 一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview 写一个类似ERP 一样的软件,接触很多Excel 表格,花了些功夫在Excel VBA 上,也算比以前有了更多的认识了。
先来看看write table to XL 这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel 里。
从上图看,步骤大致是这样的,先打开excel ,再打开一个workbook ,然后打开worksheet ,这实际上跟咱们使用excel 的过程是一样的。
打开worksheet 以后,它还定义了行与列的header ,最后才把table 里的数据写到excel 里。
那个cell value 子vi ,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop ,然后往excel 里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA 里太多的属性和方法,不容易找。
前边的打开excel workbook 和worksheet 我就不说了,例子里就有,可以新建一个workbook 和sheet ,也可以打开现有的,这个在excelexample.llb里都能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
LabVIEW中向Excel写入数据这里只讨论通过Activex的方法,因为只有这种方法,才能完全发挥Excel的所有强大的功能。
首先,Labview是有一些自带的关于Excel编程的例子的。
在find example里search一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。
先来看看write table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。
从上图看,步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。
打开worksheet 以后,它还定义了行与列的header,最后才把table里的数据写到excel里。
那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开excel workbook和worksheet我就不说了,例子里就有,可以新建一个workbook和sheet,也可以打开现有的,这个在excelexample.llb里都能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)1接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
LabVIEW中读取Excel的原理一、介绍LabVIEW是一种用于数据获取、分析和可视化的编程环境,它结合了图形化的编程和多种工具箱,可以快速实现各种控制、测量和数据采集应用。
作为一种强大的工具,LabVIEW可以读取和处理各种不同格式的数据,包括Excel文件。
本文将针对LabVIEW中读取Excel的原理展开讨论。
二、Excel文件的结构我们需要了解Excel文件的基本结构,这样才能更好地理解LabVIEW 读取Excel的原理。
Excel文件是一种电子表格文件,它由多个工作表组成,每个工作表包含多行和多列的单元格。
在Excel文件中,每个单元格都有自己的位置区域,用行号和列号表示,例如A1、B2等。
Excel文件中的数据可以包括文本、数字、日期等不同类型的数据。
三、LabVIEW中读取Excel的原理在LabVIEW中读取Excel文件,通常需要使用Excel文件的读取工具或者使用相关的函数和工具箱。
LabVIEW提供了丰富的工具和函数,可以直接读取Excel文件,也可以通过ActiveX Automation或者.NET Interop等方式读取和处理Excel数据。
1. 使用Excel文件读取工具LabVIEW提供了专门的Excel文件读取工具,可以方便地读取Excel文件的数据。
通过这种方式,我们可以直接打开Excel文件,选择需要读取的工作表、行和列,然后将数据读取到LabVIEW中进行进一步处理和分析。
2. 使用相关函数和工具箱除了Excel文件读取工具之外,LabVIEW还提供了许多相关的函数和工具箱,可以用于读取和处理Excel文件。
通过这些函数和工具箱,我们可以编写相应的程序来实现对Excel文件的读取和数据处理,这种方式更加灵活和定制化。
四、实例分析接下来,我们通过一个具体的实例来演示LabVIEW中读取Excel的原理,以便更好地理解。
假设我们有一个包含学生成绩的Excel文件,我们需要将这些成绩读取到LabVIEW中,计算平均分并进行可视化展示。
竭诚为您提供优质文档/双击可除labview表格的使用篇一:在labView中实现对数据库表格的操作在labView中实现对数据库表格的操作摘要:利用labView数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如access,来创建数据库。
本文试图通过labView对数据库进行操作,在labView中建立学生成绩查询系统。
关键词:引言:现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有sqlserver、oracle、db2、sybasease、VisualForpro、microsoftaccess等。
microsoftaccess是在windows环境下非常流行的桌面型数据库管理系统,它作为microsoftoffice组件之一,安装和使用都非常方便,并且支持sql语言,所以本文将基于access来介绍labView在数据库中的的操作。
在利用ni公司的附加工具包中的数据库接口工具包labViewsqltoolkit进行数据库访问。
该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。
它的优点是易于理解,操作简单,用户可以不学习sql语法。
labViewsqltoolkit(又被称作为labViewdatabaseconnectivitytoolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。
其主要的功能如下:(1)支持ado所支持的所有的数据库引擎;(2)支持所有与odbc或oledb兼容的数据库驱动程序;(3)具有高度的可移植性,在任何情况下,用户通过改变dbtoolsopenconnectionVi的输入参数connectionstring 就可以更换数据库;(4)可以将数据库中columnValues的数据类型转换为标准labViewdatabaseconnectivitytoolset的数据类型,这进一步增强了它的可移植性;(5)与sql兼容;(6)不使用sql语句就可以实现数据库记录的查询、添加、修改以及删除等操作;(7)用户可以完全不需要学习sql语法。
LabVIEW中向Exce l写入数据这里只讨论通过Active x的方法,因为只有这种方法,才能完全发挥E xcel的所有强大的功能。
首先,Labview是有一些自带的关于Exc el编程的例子的。
在find example里searc h一下,有挺多的,其中有一个叫w rite table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Lab view写一个类似ERP一样的软件,接触很多Exc el表格,花了些功夫在E xcel VBA上,也算比以前有了更多的认识了。
先来看看wri te table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到e xcel里。
从上图看,步骤大致是这样的,先打开exce l,再打开一个wo rkbook,然后打开wor ksheet,这实际上跟咱们使用exce l的过程是一样的。
打开works heet 以后,它还定义了行与列的head er,最后才把tab le里的数据写到exce l里。
那个cellvalue子v i,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往exce l里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开ex cel workboo k和work sheet我就不说了,例子里就有,可以新建一个w orkboo k和shee t,也可以打开现有的,这个在exce lexamp le.llb里都能找到。
(excelex ample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)接下来说一下这几天找到的几个方法和属性。
使用LABVIEW读取Excel的数值数据一、题目概述:这是一个基于labview读取Excel的数值数据的程序。
微软的Word和Excel 是创建报表的有力的标准软件套件。
由于它们已被广泛使用,一些LABVIEW的使用者会使用LABVIEW的ActiveX接口来动态的控制这些文档处理软件,使用LABVIEW生成报表。
二、设计目的:如何在LabVIEW中读取微软Excel电子数据表中的数值数据,方便labview的使用者方便使用Excel表格中的数值数据。
三、设计总体方案:3.1设计思路我们可以使用读取测量文件的Express VI从Excel电子数据表中将数值数据读取到LabVIEW中,整个过程由以下两个步骤组成:首先将你的Excel电子数据表另存为以Tab键分割的文本文件;然后,将*.txt文件重命名为*.lvm文件。
使用读取测量文件的Express VI就可以将数值数据读取到LabVIEW中。
3.2设计方案1)打开包含了基本的数值信息的Excel电子数据表。
2)将你的Excel电子数据表另存为以Tab键分割的文本文件。
3)单击“确定”。
需要注意的是,你保存的只是活动工作表的数值数据。
4)单击“是”。
5)关闭你的Excel文档。
6)导航到你先前保存Tab键分割文本文件的目录,对你的filename.txt右击,选择“重命名”,将你的文件以.lvm的后缀命名,即命名为filename.lvm。
7)使用读取测量文件的Express VI,在配置窗口的文件名栏,选择filename.lvm,可以将你的数值电子数据表读取到LabVIEW中。
使用读取电子表格的VI:LabVIEW的读取电子表格文件的VI不能直接读取.xls的文件,只能读取分割文本文件。
如果是通过人工在读取电子表格的VI输入数据(不是使用LabVIEW的写入电子表格文件的VI)来创建的Excel电子数据表的话,该VI是无法很好地解读.xls文件的,而且将会向数组返回零值。
LabVIEW中向Excel写入数据
这里只讨论通过Activex的方法,因为只有这种方法,才能完全发挥Excel的所有强大的功能。
首先,Labview是有一些自带的关于Excel编程的例子的。
在find example里search一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。
先来看看write table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。
从上图看,步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。
打开worksheet 以后,它还定义了行与列的header,最后才把table里的数据写到excel里。
那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开excel workbook和worksheet我就不说了,例子里就有,可以新建一个workbook和sheet,也可以打开现有的,这个在excelexample.llb里都
能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)
接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
help 里可以搜索,输入insert,可以看到很多,没办法,不熟悉只能一个一个看咯。
看到range.insert方法以后,去和Labview的比对一下。
可以看到这就是我们需要的方法了。
因为改方法是在Range下的,所以要先打开相应的range,才能用Insert,这就相当于我们在Excel里,需要在哪里插入一样的道理。
而Shift参数,看VBA里的描述,它是一个常量,是指定单元格的移动方向,点XLInsertShiftDirection就可以看到这个常量的数值,在这里我就不贴图了。
接下来讲最有成就感的发现,如何一次性读取或写入一定范围(若干行若干列)的数据?当然不能用cell.value来写了。
有的朋友可能已经发现了。
就是用Range Value来实现,这一点在VBA里没有写清楚,它给的例子还是相当于cell value一样,只是一个单元格的值,而实际上,应该是你指定的Range 里所有单元格的数值。
如上图,range方法包含两个参数cell1和cell2,所以range这个范围就是cell1到cell2的范围,比如B1到C5,这不就是一个2维数组了么?对,就是这样。
Range.value有两个,一个get,一个put,对应于读和写。
如果cell2不连,那么就是只有一个单元格的值,那么这时候出来的就不是2维数组,而是一个数,连2维数组上去就会出错了。
还有其他很多方法和属性,比如合并、拆分单元格,超链接,还有load,saveas之类的,这些都可以去参考VBA,再自己稍加研究,都是能找到的。
最后发句感叹,excel太强大了,下了个编程手册,100多M,晕!
枯藤老树昏鸦,小桥流水人家,古道西风瘦马。
夕阳西下,断肠人在天涯。