我编了一个vb设计程序,现在想将运行结果的一部分值,让它们自动转移到excel表格中,而且每月都可
我编了一个vb设计程序,现在想将运行结果的一部分值,让它们自动转移到excel表格中,而且每月都可以自动转移到同一个表格中,求大侠们赐教代码,高分拜谢。...
我编了一个vb设计程序,现在想将运行结果的一部分值,让它们自动转移到excel表格中,而且每月都可以自动转移到同一个表格中,求大侠们赐教代码,高分拜谢。
展开
展开全部
'你没有说运行结果存储在什么介质中,也没有说按什么排序的。假设放在记录集"表1"里,按日期排序,并且已经打开,指针在第一条记录。
赶着上班,代码未优化、未调试
'在工程中引入Micsoft Excel object联连库
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
Dim dCurDate as Date
Dim strCurDate as String
Dim r as long
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
if xlbook=nothing then
set xlbook=xlapp.Workbooks.Add("文件名")
end if
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
if xlbook.worksheets(cx)="sheet1" then'删除默认预设的三个工作表
fox cx=1 to 3
xlbook.worksheets(i).delete
nex
endif
dCurDate= 表1.fieldDate
strCurDate =alltrim(dcurdate.string)
Set xlSheet = xlBook.Worksheets("strCurDate")
if xlsheet=nothing then
set xlsheet=xlBook.Worksheets.add("strCurDate",after:=xlBook.Worksheets.count)
endif
do while not 表1.eof
if 表1.fieldDate<>dCurDate then'新日期添加新工作表
dCurDate= 表1.fieldDate
strCurDate =alltrim(dcurdate.string)
Set xlSheet = xlBook.Worksheets("strCurDate")
if xlsheet=nothing then
set xlsheet=xlBook.Worksheets.add("strCurDate",after:=xlBook.Worksheets.count)
endif
endif
'添加记录到工作表
r=r+1
xlSheet.Cells(r, 1) =表1.字段名1 '给单元格(row,col)赋值
xlSheet.Cells(r,2) =表1.字段名2
....
表1.MoveNext
Loop
xlBook.Close (True) '保存后关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlSheet =Nothing
set xlbook=nothing
Set xlApp = Nothing '释放xlApp对象
赶着上班,代码未优化、未调试
'在工程中引入Micsoft Excel object联连库
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
Dim dCurDate as Date
Dim strCurDate as String
Dim r as long
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
if xlbook=nothing then
set xlbook=xlapp.Workbooks.Add("文件名")
end if
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
if xlbook.worksheets(cx)="sheet1" then'删除默认预设的三个工作表
fox cx=1 to 3
xlbook.worksheets(i).delete
nex
endif
dCurDate= 表1.fieldDate
strCurDate =alltrim(dcurdate.string)
Set xlSheet = xlBook.Worksheets("strCurDate")
if xlsheet=nothing then
set xlsheet=xlBook.Worksheets.add("strCurDate",after:=xlBook.Worksheets.count)
endif
do while not 表1.eof
if 表1.fieldDate<>dCurDate then'新日期添加新工作表
dCurDate= 表1.fieldDate
strCurDate =alltrim(dcurdate.string)
Set xlSheet = xlBook.Worksheets("strCurDate")
if xlsheet=nothing then
set xlsheet=xlBook.Worksheets.add("strCurDate",after:=xlBook.Worksheets.count)
endif
endif
'添加记录到工作表
r=r+1
xlSheet.Cells(r, 1) =表1.字段名1 '给单元格(row,col)赋值
xlSheet.Cells(r,2) =表1.字段名2
....
表1.MoveNext
Loop
xlBook.Close (True) '保存后关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlSheet =Nothing
set xlbook=nothing
Set xlApp = Nothing '释放xlApp对象
更多追问追答
追问
我意思是将运行结果中多个结果数据存放至excel表格中,按日期排序也行,每次运行结果接着上一次结果,但需要按日期分开,每个月保存一个sheet表格,请赐教,运行程序时不需要打开表格,但保存结果随时能查询,
追答
忽略了追加,改一下变量r的初始值放在循环体上面就可以追加了:
r=xlsheet.UsedRange.Rows.Count
表格不打开,把visible属性改成False就行了。真正不打开,很麻烦。
代码里有工作薄保存代码,做VB的不会看不出来吧,你可以随时查看这个文件啊。在VB界面里查询,要添加OLE控件,要求很过分哟。
苦命人,赶车去了。祝你好运。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询