Export
從 Lotus Notes 數據庫中導出數據
我正在尋找一種工具,希望是低成本或免費的,以幫助我將 Lotus Notes 數據庫(不是 Lotus Notes 郵件文件!)導出為任何格式。CSV/Excel 等。
我還需要能夠提取數據庫中的附件。它們都是 Word 文件。
我找到了一個名為 DetachIt 的軟體——但它的高昂許可成本使其遙不可及。
謝謝!
這是我多年前編寫的用於將數據導出到 Excel 的免費工具: Export to Excel 2.0
另外,我編寫了一些程式碼來從電子郵件中提取附件,並且該程式碼可以適用於其他數據庫
(Declarations) Dim sDir As String Dim s As NotesSession Dim w As NotesUIWorkspace Dim db As NotesDatabase Dim dc As NotesDocumentCollection Dim doc As NotesDocument Sub Initialize Set s = New NotesSession Set w = New NotesUIWorkspace Set db = s.CurrentDatabase Set dc = db.UnprocessedDocuments Set doc = dc.GetFirstDocument Dim rtItem As NotesRichTextItem Dim RTNames List As String Dim DOCNames List As String Dim itemCount As Integer Dim sDefaultFolder As String Dim x As Integer Dim vtDir As Variant Dim iCount As Integer Dim j As Integer Dim lngExportedCount As Long Dim attachmentObject As Variant x = Msgbox("This action will extract all attachments from the " & Cstr (dc.Count) & _ " document(s) you have selected, and place them into the folder of your choice." & _ Chr(10) & Chr(10) & "Would you like to continue?", 32 + 4, "Export Attachments") If x <> 6 Then Exit Sub sDefaultFolder = s.GetEnvironmentString ("LPP_ExportAttachments_DefaultFolder") If sDefaultFolder = "" Then sDefaultFolder = "F:" vtDir = w.SaveFileDialog( False, "Export attachments to which folder?", "All files|*.*", sDefaultFolder, "Choose Folder and Click Save") If Isempty(vtDir) Then Exit Sub sDir = Strleftback(vtDir(0), "\") Call s.SetEnvironmentVar ("LPP_ExportAttachments_DefaultFolder", sDir) While Not (doc Is Nothing) iCount = 0 itemCount = 0 lngExportedCount = 0 Erase RTNames Erase DocNames 'Scan all items in document Forall i In doc.Items If i.Type = RICHTEXT Then Set rtItem = doc.GetfirstItem(i.Name) If Not Isempty(rtItem.EmbeddedObjects) Then RTNames(itemCount) = Cstr(i.Name) itemCount = itemCount +1 End If End If End Forall For j = 0 To itemCount-1 Set rtItem = Nothing Set rtItem = doc.GetfirstItem(RTNames(j)) Forall Obj In rtItem.EmbeddedObjects If ( Obj.Type = EMBED_ATTACHMENT ) Then Call ExportAttachment(Obj) Call Obj.Remove Call doc.Save( False, True ) 'creates conflict doc if conflict exists End If End Forall Next 'Scan all items in document Forall i In doc.Items If i.Type = ATTACHMENT Then DOCNames(lngExportedCount) = i.Values(0) lngExportedCount = lngExportedCount + 1 End If End Forall For j% = 0 To lngExportedCount-1 Set attachmentObject = Nothing Set attachmentObject = doc.GetAttachment(DOCNames(j%)) Call ExportAttachment(attachmentObject) Call attachmentObject.Remove Call doc.Save( False, True ) 'creates conflict doc if conflict exists Next Set doc = dc.GetNextDocument(doc) Wend Msgbox "Export Complete.", 16, "Finished" End Sub Sub ExportAttachment(o As Variant) Dim sAttachmentName As String Dim sNum As String Dim sTemp As String sAttachmentName = sDir & "\" & o.Source While Not (Dir$(sAttachmentName, 0) = "") sNum = Right (Strleftback(sAttachmentName, "."), 2) If Isnumeric(sNum) Then sTemp = Strleftback(sAttachmentName, ".") sTemp = Left(sTemp, Len(sTemp) - 2) sAttachmentName = sTemp & Format$(Cint(sNum) + 1, "##00") & _ "." & Strrightback(sAttachmentName, ".") Else sAttachmentName = Strleftback(sAttachmentName, ".") & _ "01." & Strrightback(sAttachmentName, ".") End If Wend Print "Exporting " & sAttachmentName 'Save the file Call o.ExtractFile( sAttachmentName ) End Sub