【发布时间】:2021-11-02 19:39:40
【问题描述】:
我有 Excel VBA 代码,它应该从 Lotus Notes 应用程序的收件箱中获取主题行,然后将其复制到 Excel 的列中。
似乎将主题填充到单个单元格中并覆盖它。
第二个问题是,循环进行到一半时出现错误
类型:不匹配
Sub Subject_Info()
Dim v As Object
Dim vn As Object
Dim e As Object
Dim doc As Object
Dim rtitem As Variant
Dim nit As Object
View = "$All"
Set NSession = CreateObject("Notes.NotesSession")
Set NMailDb = NSession.GetDatabase("", "")
If Not NMailDb.IsOpen Then
NMailDb.OPENMAIL
End If
Set v = NMailDb.GetView(View)
Set vn = v.CreateViewNav()
Set e = vn.GetFirstDocument()
Do While Not (e Is Nothing)
Set doc = e.Document
Set nit = doc.GetFirstItem("subject")
Lines = Split(nit.Text, vbCrLf)
Range("A:A").Resize(UBound(Lines) + 1, 1).Value = Application.WorksheetFunction.Transpose(Lines)
Set e = vn.GetNextDocument(e)
Loop
End Sub
【问题讨论】:
-
请尝试
Range("A1").Resize(UBound(Lines) + 1, 1).Value而不是Range("A:A").Resize(UBound(Lines) + 1, 1).Value。您不能调整整列的大小。但看起来您希望添加到最后一个空行,并且应该事先确定这一行。类似:Dim lastRow As Long,然后是lastRow = Range("A" & rows.count).End(xlUp).row。然后Range("A" & lastRow).Resize(UBound(Lines) + 1, 1).Value = ...。lastRow必须在每次迭代后计算...
标签: excel vba email lotus-notes subject