我想將我在Outlook的vb編輯器中編寫的內容轉換爲vb6,以便它可以是獨立的可執行文件。檢索來自特定發件人的imap電子郵件
它是什麼:
- 解析來自新到達電子郵件特定URL從特定的發送者。 url指向一個網頁。讓我們稱之爲URL1
- 檢索該網頁的html內容並解析html內容中的另一個url。我們稱之爲URL2
- 從URL2下載pdf。
因此,在outlook vb環境中它是完全有效的。但是,由於我離開前景,我需要更換一些代碼,具體如下:
- 如何從特定發件人檢索電子郵件(imap)?現在我無法使用「Outlook.Items」,「.HTMLBody」等與Outlook相關的任何內容。
- 獲取電子郵件的html到我的html解析器中
- 如何限制程序僅對新電子郵件執行此操作,而不是對已經解析的電子郵件執行此操作?
基本上,這是在相關部分的代碼:
strURL1 = GetBetween(1, itm.HTMLBody, "<a href=""https://", """>", vbTextCompare)
Private Function GetBetween(ByVal Start As Long, Data As String, _
StartString As String, EndString As String, _
Optional ByVal CompareMethod As VbCompareMethod = vbBinaryCompare) As String
Dim lonStart As Long, lonEnd As Long
'1. Find start string.
lonStart = InStr(Start, Data, StartString, CompareMethod)
If lonStart > 0 Then
'2. Move to end of start string.
lonStart = lonStart + Len(StartString)
'3. Find end string.
lonEnd = InStr(lonStart, Data, EndString, CompareMethod)
If lonEnd > 0 Then
'4. Extract data between start and end strings.
GetBetween = Mid$(Data, lonStart, lonEnd - lonStart)
End If
End If
端功能
--------------------- ----下面是一些代碼,我將不得不消除,我是新來的,我不確定他們做了什麼,如果我需要vb6的替代品嗎?-----
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub myOlItems_ItemAdd(ByVal item As Object)
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
LaunchURL (item)
End If
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
Private WithEvents myOlItems As Outlook.Items
在此先感謝
如果你想獲得這些從IMAP服務器沒有寄生Outlook中,您將需要找到一個IMAP的ActiveX庫。 – Bob77
對不起,我忘記提到是我想打imap服務器(gmail)。我做了一些更多的研究,似乎我不得不爲imap功能定製庫。有沒有VB.net的免費資源?我不熟悉它,但從外觀上看,它看起來就像我在Outlook vb編輯器中做的那樣。但是,我還可以讓它成爲一個獨立的程序嗎? –