vb如何调用excel的数据

newpower12 2008-04-17 03:13:06
怎样把EXCEL里的几套数据调入到以下这个代码的变量x1,x2,x3,x4,这些变量为数字或字母.
doc.All.Item("username").Value = "x1"
doc.All.Item("Password").Value = "x2"
doc.All.Item("fiestname").Value = "x3"
doc.All.Item("lastname").Value = "x4"

x1,x2,x3,x4组成一套数据
在excel表格里,共有n套数据,每一套占用一列.
当调入第一套数据后程序对这套数据经过使用几次后就不能在使用,这时便在excel这第一套数据里做上不能使用的标记,并且自动调入第2套数据依次类推.
当每次结束程序时候能作好已使用到第几套数据的标记,下次开启程序时直接从上次正在使用的那套数据开始.
麻烦请给出能插在程序里直接使用的代码,
急用
在线等待,问题解决,马上结贴.

...全文
705 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
好像没那么简单,呵呵.
caprason 2008-04-18
  • 打赏
  • 举报
回复
wlog是什么?
wfzhu2000 2008-04-18
  • 打赏
  • 举报
回复
个人认为,用ADO更方便.
可西哥 2008-04-17
  • 打赏
  • 举报
回复
贴一段用合并EXCEL文件内容的代码,供参考:


Public Sub XlsMerge(strPath, strPwd, strTargetFile, Optional ByVal IsClear As Boolean = False)
Dim objE As Object
Dim Twb As Object 'New Excel.Workbook
Dim Wb As Object ' New Excel.Workbook
Dim objSheets As Object 'New Worksheet
Dim rng As Object ' Range
Dim s As String
Dim i As Integer
Dim intCount As Integer

On Error Resume Next


'错误判断
If Dir(strPath, vbDirectory) = "" Then
MsgBox "文件路径未找到!", vbOKOnly + vbInformation
Exit Sub
End If

Set objE = CreateObject("Excel.Application")

If Err Then
Err.Clear
MsgBox "创建EXCEL对象出错!", vbOKOnly + vbInformation
Exit Sub
End If

Set Twb = objE.Workbooks.Add
Set objSheets = Twb.Sheets(1)
'调试时显示EXCEL对象
' objE.Visible = True

Wlog "正在生成文件头..."
objSheets.Cells(1, 1) = "姓名"
objSheets.Cells(1, 2) = "操作统计"
objSheets.Cells(1, 3) = "文字统计"
objSheets.Cells(1, 4) = "拼版数量"
objSheets.Cells(1, 5) = "改版数量"
objSheets.Cells(1, 6) = "整版广告"
objSheets.Cells(1, 7) = "头版统计"


Wlog "正在查找文件..."
With objE.FileSearch '查找
.LookIn = strPath '目录
.FileName = "*.xls" '查找所有的xls文件
.Execute '执行查找过程,并且将查询结果按文件名排序

intCount = .FoundFiles.Count

For i = 1 To intCount '在每一个查找到的结果里
s = .FoundFiles(i)
Wlog "正在合并文件:" & Right(s, Len(s) - InStrRev(s, "\") + 1) & "..."

SetProcess i / intCount
Set Wb = objE.Workbooks.Open(s, , False, , strPwd) '打开它
If Err Then
Err.Clear
MsgBox "打开EXCEL文件时出错!", vbOKOnly + vbInformation
Exit Sub
End If

Set rng = objSheets.Range("A" & i + 1, "G" & i + 1)
'复制新打开的工作簿的第一个工作表的已用区域到rng
Wb.Sheets(1).Range("A1:G1").Copy rng

'清空原数据
If IsClear Then
Wb.Sheets(1).Range("B1:G1").Clear
End If

'关闭工作簿
Wb.Close True
If Err Then
Err.Clear
MsgBox "合并EXCEL文件时出错!", vbOKOnly + vbInformation
Exit Sub
End If

Next
End With

SetProcess 1
Wlog "正在保存输出文件..."
Twb.SaveAs strTargetFile
Twb.Close

objE.Quit
Set objE = Nothing
Wlog intCount & "个文件完成合并。"


End Sub

可西哥 2008-04-17
  • 打赏
  • 举报
回复
按列读?
也不一定用EXCEL来打开,用ADO更方便.
dbcontrols 2008-04-17
  • 打赏
  • 举报
回复
他那个代码是创建新表的,你需要是打开旧表的,他早跑了,还是你自己解决吧
[Quote=引用 3 楼 newpower12 的回复:]
假如需要读取的excel的路径和名称是c/数据
能不能直接给我个能配套下边语句的代码.
doc.All.Item("username").Value = "x1"
doc.All.Item("Password").Value = "x2"
doc.All.Item("fiestname").Value = "x3"
doc.All.Item("lastname").Value = "x4"


其中:"x1""x2""x3""x4"都是需要从excel里读出来调用的过来的
急 解决后马上结贴
[/Quote]
newpower12 2008-04-17
  • 打赏
  • 举报
回复
假如需要读取的excel的路径和名称是c/数据
能不能直接给我个能配套下边语句的代码.
doc.All.Item("username").Value = "x1"
doc.All.Item("Password").Value = "x2"
doc.All.Item("fiestname").Value = "x3"
doc.All.Item("lastname").Value = "x4"


其中:"x1""x2""x3""x4"都是需要从excel里读出来调用的过来的
急 解决后马上结贴
newpower12 2008-04-17
  • 打赏
  • 举报
回复
没完全明白
要直接能插在我这个上用
X1=?
X2=?
X3=?
X4=?
可西哥 2008-04-17
  • 打赏
  • 举报
回复
直接读就是了嘛。
直接用EXcel 对象



'建立EXCEL对象

'Dim xlApp As New Excel.Application
Dim xlApp As Object

'Dim xlBook As New Excel.Workbook
Dim xlBook As Object

'Dim xlSheet As New Excel.Worksheet
Dim xlSheet As Object


Dim objRs As New ADODB.Recordset
Dim strPWD As String
Dim strTmp As String
Dim strName As String
Dim i As Integer
Dim j As Integer

On Local Error Resume Next

Wlog "正在连接EXCEL..."
Set xlApp = CreateObject("Excel.Application")
Set xlBook = CreateObject("Excel.Workbook")
Set xlSheet = CreateObject("Excel.Worksheet")

'生成工作簿
'开始生成索引
Wlog "正在创建文档..."
Set xlBook = xlApp.Workbooks.Add

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧