lotus数据导到sql

ge127 2009-03-10 01:19:37
请问下:lotus数据导到sql怎样弄?
我在网上找了下资料,找到如下的代码,其作用是把所有表单的域导到excel中,但不知道哪里出问题不能导出。

Sub Click(Source As Button)
Dim s As New notessession
Dim db As notesdatabase
Set db=s.currentdatabase
Dim col As notesdocumentcollection
Dim doc As notesdocument
Set col=db.unprocesseddocuments



REM 定义行标题

REM 定义列值
Dim obj As Variant
Dim excelWorkbook As Variant
Dim excelSheet As Variant
Set obj = CreateObject("Excel.Application")
obj.Visible = True

''找到excel的位置
path = s.getenvironmentstring("directory",True)
gzpath=path+""+"th.xls"
Set excelWorkbook = obj.Workbooks.Add
Set excelSheet = excelWorkbook.Worksheets("Sheet1")
''定义义excel的列值
With obj

For i=1 To col.Count
Set doc=col.getnthdocument(i)
j=0
Forall it In doc.items
Dim itv As Variant
itv=it.values
nnn1=Int(j/26)
nnn2=j Mod 26
If j<26 Then
A=Chr(65+j)+Cstr(i+1)
Else
A=Chr(65+nnn1-1)+Chr(65+nnn2)+Cstr(i+1)
End If
.worksheets("sheet1").Range(A).value =itv
j=j+1
End Forall

Next

End With

End Sub

文章出处:DIY部落(http://www.diybl.com/course/1_web/webjs/20071226/95079.html)

...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisysitech 2009-03-13
  • 打赏
  • 举报
回复
下面的程序是EXCEL导出功能的代码:

1.在(Declarations)中声明

Dim strfieldname(1 To 2) As String
Dim strfield(1 To 2) As String

2.在Initialize中初始化

Sub Initialize
strfieldname(1)="人员编号"
strfieldname(2)="姓名"

strfield(1)="TxtEmpNumber"
strfield(2)="TxtEmpName"
End Sub

3.click事件代码
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim dc As notesdocumentcollection
Dim dc1 As notesdocumentcollection 'dc1取得考勤扣款文件夹中了文档并移走
Dim doc As notesdocument

'取文档输入excel表
Set db = session.CurrentDatabase
Set view = db.GetView( "VwCqjk_cn" )
Set doc=view.getfirstdocument
'建一个excel表
Set exlapp=createobject("Excel.Application")
exlapp.visible=True
Set workbook=exlapp.workbooks.add
Set mysheet=workbook.worksheets("sheet1")
'写入标题信息
Set range=mysheet.cells(1,1)
range.value="导出标题"
For j=1 To Ubound(strfieldname)
Set range=mysheet.cells(2,j)
range.value=strfieldname(j)
Next
'写入内容信息
i=3
While Not doc Is Nothing
For j=1 To Ubound(strfieldname)
Set range=mysheet.cells(i,j)
Dim subj As Variant

'导出其它字段
If doc.HasItem( strfield(j) ) Then
subj = doc.GetItemValue( strfield(j) )
End If

range.value=subj
Next
Set doc=view.getnextdocument(doc)
i=i+1
Wend
Messagebox "Excel表已经建立完全"

End Sub
guohongluo 2009-03-10
  • 打赏
  • 举报
回复
range没有用过

i=1
While Not(dc Is Nothing)
book.Worksheets( 1 ).Cells(i, 1).Value = Cstr(dc.workno(0))
Set dc=view.getnextdocument(dc)
i=i+1
Wend
Messagebox "Finish"


你可以使用Messagebox来调试程序看具体是哪里出错了。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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