当前位置: 网学 > 编程文档 > VB > 正文

用VB6控制Excel处理数据

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

浙江大学农业生物环境工程研究所 泮进明 张颖萍  

Excel是微软办公软件的“大腕”之一,几乎已经成为电子表格软件的代名词。除了管理数据并对其进行一些简单的数学运算外,Excel还拥有强大的数据处理功能,尤其是其中的数理统计功能,更是那些对SAS、SPSS望而生畏的“软脚蟹”们的最佳选择;但Excel并非真是如此那么简单,要随心所欲运用之并非易事,本大虾周围总有人被Excel的INDEX结果显示整得云里雾里(还有很多问题哦!)。最近本大虾潜入海底闭关修炼了一阵,试着打造“vb+Excel”,期望推出“傻瓜型”数据处理“小件”,已有所小成。现以调用Excel中的LINEST(多元线性回归函数)为例,和各位大虾煮酒论剑,望指正。
一、VB控制界面组成
数据输入控件:TextDataNum(数据组数输入TextBox),TextFacNum(参数个数输入TextBox),TextInput(实验数据输入中介TextBox),GridIn(实验数据表格MSFlexGrid);
结果输出控件:LabTRV(回归相关系数显示Label),LabTEV(回归总体方差显示Label),GridOut(各参数回归系数、标准误差显示表格MSFlexGrid);
程序控制控件:ComCalcu(程序执行按钮CommandButton);
其它控件从略。
二、操作步骤
操作步骤简述如下:
1、引用Microsoft Excel类型库
“工程”-“引用”-选择“Microsoft Excel 8.0 Object Library”-“确定”
2、声明显式数据类型,创建新实例并获取Excel的控制句柄
Dim ExcelObject As Excel.Application
Set ExcelObject = CreateObject("Excel.Application")
3、调用并显示Excel
Excelobject.Visible = True
由于Excel启动为不可见,在编程调试过程中,需要监测之,完工后最好Rem。
4、将GridIn中的数据送入Excel
5、Excel对数据进行多元回归
6、将Excel运算结果输入GridOut,LabTRV 和LabTEV
7、最后交还Excel控制句柄
Set ExcelObject = Nothing
此方法也可直接控制其他大量应用软件,可从你的Object Library略知一二。
三、操作程序
部分源程序代码如下:
通用声明
Dim DNum As Integer '' DNum数据组数
Dim FNum As Integer '' FNum参数个数
Dim ExcelObject As Excel.Application
表格初始化
--DataGRidMK ''GridIn制作模块
Sub DataGRidMK()  
DNum = Val(Me.TextDataNum.Text)
FNum = Val(Me.TextFacNum.Text)
With Me.GridIn
.Cols = FNum + 2
.Rows = DNum + 1
End With
With Me.GridIn
.Row = 0
.Col = 0: .Text = " 实验数据"
.Col = 1: .Text = " 测值Y"
For i = 1 To .Cols - 1
.ColWidth(i) = 1200
Next i
For i = 2 To .Cols - 1
.Col = i
.Text = " 参数 X" & (i - 1)
Next i
For i = 1 To .Rows - 1
.Col = 0
.Row = i: .Text = " " & i
Next i
End With
End Sub
--DataInitial ''随机产生GridIn数据模块
Sub DataInitial() ''随机产生表格数据
Randomize Timer
With Me.GridIn
For i = 1 To .Rows - 1
.Row = i
For j = 1 To .Cols - 1
.Col = j
.Text = Rnd * 500 \ 1
Next j
Next i
End With
End Sub  
为方便程序调式,实验数据采用随机产生;也可自行修改/输入,从略
--GridOutMK ''GridOut制作模块
Sub GridOutMK()
With Me.GridOut
.Cols = FNum + 2
.Rows = 3
End With
With Me.GridOut
.Row = 0
.Col = 0: .Text = " 回归输出"
.Col = 1: .Text = " Const"
.Row = 1: .Col = 0: .Text = " 系数Ai"
.Row = 2: .Col = 0: .Text = " 相关系数"
For i = 1 To .Cols - 1
.ColWidth(i) = 1200
Next i
.Row = 0
For i = 2 To .Cols - 1
.Col = i
.Text = " 参数 X" &

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号