大家晚上好
我有一個 Excel 宏,我正在努力作業并稍微適應。我需要解決 3 個問題:
我的代碼拋出了一個編譯錯誤:“如果沒有阻塞則結束”。我是初學者,不知道這是什么意思?
我需要修改我的代碼,以便它也掃描電子郵件的自動簽名,但不知道該怎么做。
我想修改代碼,以便它從包含在括號中的主題欄位、電子郵件正文和自動簽名中提取任何資料,并將其發送到 Excel 中的各個行。但是,我想使用標記 R1、R2、R3、R4、R5、R6,以便將標記為 R1 的括號中的資料吐到我的 Excel s/sheet 的第 1 行,將標記為 R2 的括號中的資料吐到第 2 行等。見下圖。有人建議我可以使用 FIND 和 MID 函式,但我的知識還不足以撰寫此代碼。
如果有人可以幫助我,我將不勝感激:)

我的代碼:
Sub GetFromOutlook()
Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer
Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("NoV")
i = 1
For Each OutlookMail In Folder.Items
Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
Range("eMail_text").Offset(i, 0).Value = OutlookMail.Body
i = i 1
End If
Next OutlookMail
Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing
End Sub
uj5u.com熱心網友回復:
在下面的一段代碼中:
For Each OutlookMail In Folder.Items
Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
Range("eMail_text").Offset(i, 0).Value = OutlookMail.Body
i = i 1
End If
Next OutlookMail
代碼中沒有If運算子,因此End If不需要:
For Each OutlookMail In Folder.Items
Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
Range("eMail_text").Offset(i, 0).Value = OutlookMail.Body
i = i 1
Next OutlookMail
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529974.html
