请有人能完成这段代码,它使我发疯。我正在从电子邮件中抓取数据以进行访问。在此阶段,我只能将Top Line刮入
我只是似乎无法使Loop Array正常工作以下降到下一行,依此类推,直到EOF
电子邮件正文如下所示(可能为700行)
(我希望下面的内容可以捕获4行并添加到数据库中。)
N,F,AWB,932,50960003,5,MARKBR1,20160820,9300
N,F,AWB,175,04391936,4,MARKBR1,20160824,0004
N,M,AWB,195,04990293,4,JEFFBR1,20160824,0004
N,F,AWB,245,04415213,4,ALLANBR1,20160824,0004
代码如下(提前感谢)
Option Compare Database
Sub getEmails()
Dim olApp As Outlook.Application
Dim olNamespace As Outlook.NameSpace
Dim k
Dim j
Dim x
Dim xXx
Dim olFolder As Outlook.MAPIFolder
Dim lngCol As Long
Dim olItem As Object
Dim whichAccount As String
Dim objNS As Outlook.NameSpace
Dim BodyTxt As String
Dim BodyRow As String
Dim db As dao.Database
Dim rst As dao.Recordset
Dim strData As String
Set olApp = New Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox).Folders("MarkDrafts")
Set rst = CurrentDb.OpenRecordset("SELECT * FROM email WHERE 1=0", dbOpenDynaset)
'table is called Email, field is called emaildata
For Each msg In olFolder.Items
Debug.Print msg.Body
BodyTxt = msg.Body
ArrayVariable = Split(BodyTxt, vbCrLf)
'loop ArrayVariable <<< this bit don’t work so it doesn’t drop to the next line
rst.AddNew
rst!EmailData = ArrayVariable(x)
rst.Update
'loop
Next
rst.Close
Set olApp = Nothing
Set Inbox = Nothing
Set InboxItems = Nothing
Set Mailobject = Nothing
Set TempRst = Nothing
End Sub
我不知道您是否只是在尝试使用伪代码,因为这不是循环代码。
你根本不增加x
替代
'loop ArrayVariable <<< this bit don’t work so it doesn’t drop to the next line
rst.AddNew
rst!EmailData = ArrayVariable(x)
rst.Update
'loop
有了这个实际的循环
For x = lBound(ArrayVariable) to uBound(ArrayVariable)
rst.AddNew
rst!EmailData = ArrayVariable(x)
rst.Update
Next x
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句