vb调用EXCEL中的数据

vb调用EXCEL中的数据
悬赏分:25 - 离问题结束还有 14 天 15 小时
比如在excel里A列是学生名称,B列是性别,C列是所在系,在VB里有三个文本框T1,T2,T3。
工程完成后可以实现在T1输入学生名称后T2,T3也要出现相应信息

我研究很久了就是没进展,在这里请教VB高手了

.大家帮帮忙吧!谢谢...
问题补充:高手请教拉
access也行啊,能写段源代码吗??

第1个回答  2008-01-10
操作EXCEL,没调试过,自行调试:

在工程中运用 Excel 对象模型,必须引用 Excel Object Library
工程--> 引用 加入 Excel Object Library

声明公共变量
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

在FORM LOAD 事件内输入:

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("d:\vbExcel.xls") '打开已经存在的EXCEL工件簿文件
'd:\vbExcel.xls要改成你的EXCEL档所在路径
xlApp.Visible = False '设置EXCEL对象不可见
Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表,sheet1要改成学生档案所在表名

然后在T1的CHANGE事件内写:
Dim intRow as integer
Cells.Find(What:=T1.TEXT, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
intRow=activecell.row
t2.text=xlsheet.cells(introw,2)
t3.text=xlsheet.cells(introw,3)

在FORM UNLOAD事件内写:

xlbook.Close
xlapp.DisplayAlerts = False
xlApp.Quit
第2个回答  2008-01-09
Excel可以实现,不过我觉得XML和数据库实现起来更方便快捷,下面是Access的例子建立了一个数据库 a.mdb

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Form_Load()
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "a.mdb;Persist Security Info=False"
conn.Open
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set conn = Nothing
conn.Close
End Sub

Private Sub Text1_LostFocus()

If Text1.Text <> "" Then
Set rs = conn.Execute("select * form a where 名字 = '" & Text1.Text & "' ")

If rs.RecordCount = 0 Then
Set rs = Nothing
rs.Close
End If

rs.MoveFirst
Text2.Text = rs("性别")
Text3.Text = rs("系")
Set rs = Nothing
rs.Close
End If

End Sub本回答被网友采纳
第3个回答  2008-01-09
用Excel 倒没试过,如果你把Excel转为Access数据库,再用VB来实现的话并不困难

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网