如何用VB读取和写入EXCEL表格

公司有个人事表格,文件比较大,经常打开不方便。现在想自己用VB写个小程序,用程序来向EXCEL表格写入和读取数据。由于在学校本专业不是编程,虽然学了一点,但忘了很多了,来这里求教
比如:我的表格中的字段有工号,姓名,部门,二级小组,三组小组那些,我只需要在程序里把员工信息输入到程序里,就可以添加到EXCEL里面。如果他离职,可以通过程序搜索工号或姓名来查找他的信息,然后导入到另一个叫“离职人员档案”里面,本表格的信息自动删除。

希望大家指教,如果可以,代码上还希望注释一下,谢谢。
我只有一百分了,希望大家帮忙。

因为ADO不支持Excel的删除

所以用Excel+access的方法解决

新建access,在access里面添加2个表,一个"在职"表,一个"离职"表,(都将工号设置主键)

Excel按Ctrl+F11打开vbe编辑器,插入窗体

按以下步骤建立对应控件

最重要的一点就是将文本框的名称属性依次改成"工号", "姓名", "部门", "二级小组", "三组小组",因为代码里要用到

建立好之后   双击窗体将以下代码复制到代码窗口中

Dim Con As Object

Dim Rst As Object

Dim Sql As String

Dim FieldArr

Const ProvidSr$ = "provider=microsoft.jet.oledb.4.0;data source="


Private Sub CommandButton1_Click()

Dim FieldSr$, ValueSr$, x%

If 工号.Text = "" Then MsgBox "工号必填": Exit Sub

For x = 0 To 4

FieldSr = FieldSr & FieldArr(x) & ", "

ValueSr = ValueSr & Me.Controls(FieldArr(x)).Text & "', '"

Next

FieldSr = Left(FieldSr, Len(FieldSr) - 2)

ValueSr = Left(ValueSr, Len(ValueSr) - 3)

Sql = "Insert into 在职 (" & FieldSr & ") VALUES('" & ValueSr & ")"

Con.Execute Sql

MsgBox "操作完成"

End Sub


Private Sub CommandButton2_Click()

Dim Wsr$, TBox$

For x = 0 To 1

TBox = Me.Controls(FieldArr(x)).Text

If TBox <> "" Then Wsr = Wsr & FieldArr(x) & "='" & TBox & "' or "

Next

If Wsr = "" Then MsgBox "请输入工号或姓名": Exit Sub

Wsr = Left(Wsr, Len(Wsr) - 4)

If MsgBox("确定删除?", vbQuestion + vbYesNo) = vbYes Then

Sql = "insert into 离职 select * from 在职 where " & Wsr

Con.Execute Sql

Sql = "delete from 在职 where " & Wsr

Con.Execute Sql

MsgBox "操作完成"

End If

End Sub



Private Sub UserForm_Initialize()

Dim AccPath$

FieldArr = Array("工号", "姓名", "部门", "二级小组", "三组小组")

Set Con = CreateObject("adodb.connection")

AccPath = "d:/Database/data.MDB"  ''''这里设置数据库路径

Con.Open ProvidSr & AccPath

End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Set Con = Nothing

End Sub

好了  运行就可以了

说的的excel中vba的方法  如果要做成vb软件的话,在vb中的步骤也是一样的

代码和上面一样的  只是控件名称有些不同

追问

能加下你扣扣吗?我调试的时候出了点问题!!

追答

扣扣 1996 后面 4040

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-10
努力学习吧,这方面资料这里很多。
相似回答