我想将附件导出到excel表以及其他数据。 我能够正常导出。我还将附件从文档中提取到文件位置。现在需要做的是将它附加到excel单元格。
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uiView As NotesUIView
Dim doc As NotesDocument
Dim docCol As NotesDocumentCollection
Set uiView = ws.CurrentView
Set docCol = uiView.Documents
Set doc = docCol.GetFirstDocument
Dim xlApp As Variant
Dim xlsheet As Variant
Dim rtitem As Variant
Dim Ol As Variant
maxcols= 2
Set xlApp = CreateObject("Excel.Application")
xlApp.StatusBar = "Creating WorkSheet. Please be patient..."
xlApp.Visible = True
xlApp.Workbooks.Add
xlApp.ReferenceStyle = 2
rows = 1
cols = 1
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
xlsheet.Cells(rows,1).Value = "Created By"
xlsheet.Cells(rows,2).Value = "File/Attachment"
cols=1
rows=2
While Not doc Is Nothing
xlsheet.Cells(rows,1).Value = doc.CreatedBy(0)
Set rtitem = doc.GetFirstItem("FileUpload")
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile ( "d:\temp\" & Cstr(doc.FileName(0)) )
End If
End Forall
xlsheet.Cells(rows,2).select
' xlsheet.Cells(rows,2).OLEObjects.Add Cstr(doc.FileName(0)), "d:\temp\" & Cstr(doc.FileName(0)), , True, , , Cstr(doc.FileName(0))
'Set Ol = xlApp.OLEObjects.Add(Cstr(doc.FileName(0)), "d:\temp\" & Cstr(doc.FileName(0)), True, False)
xlsheet.OLEObjects.Add( "", "d:\temp\" & Cstr(doc.FileName(0)), False, False).Select
End If
Set doc = docCol.GetNextDocument(doc)
rows=rows+1
cols=1
Wend
xlApp.Rows("1:1").Select
xlApp.Selection.Font.Bold = True
xlApp.Selection.Font.Underline = True
xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows,maxcols)).Select
xlApp.Selection.Font.Name = "Arial"
xlApp.Selection.Font.Size = 8
xlApp.Selection.Columns.AutoFit
With xlApp.Worksheets(1)
.PageSetup.Orientation = 2
.PageSetup.centerheader = "Report - Confidential"
.Pagesetup.RightFooter = "Page &P" & Chr$(13) & "Date: &D"
.Pagesetup.CenterFooter = ""
End With
xlApp.ReferenceStyle = 1
xlApp.Range("A1").Select
xlApp.StatusBar = "Importing Data from Lotus Notes Application was Completed."
End Sub
请分享您的观点。
此致 人士Himanshu
答案 0 :(得分:0)
由于出现错误,很难确定问题所在,我通常会尝试使用VBA在Excel工作表中尽可能多地编程。一旦它在VBA中工作,我将代码移植到Excel。
我建议在这里这样做 - 这不是一个Lotus Notes问题,而是一个VBA问题。
答案 1 :(得分:0)
我同意安德鲁的观点。您将在电子表格中附加/嵌入文件而不是导出文件 - 然后使用Notes打开电子表格以执行附件。电子表格会附加多少个电子表格?
退一步 - 现在您可以创建导出文件了。使用富文本字段创建新文档,然后在创建时附加新创建的导出文件。然后在视图中显示此新文档。如果您是为远程用户执行此操作,则可以通过电子邮件将附件发送到中央数据库。这取决于您希望数据最终的位置以及您希望如何显示数据。有很多可能的选择,每个都有成本。