好吧,如果你抓住了身體和標題沒有問題,那麼你只需要做的字符串操作。將它們分別讀入一個變量。假設你的主題是litterally「TK#*******新請求」,那麼這應該讓你開始。基本上重複你想要拉出的每個部分的邏輯。一旦你有變量的值,你可以把這些值放入單元格中。
Dim sSubject as string
Dim sBody as string
Dim sTicket as string
Dim sLogin as string
Dim lLoginPos as long
Dim iLoginLength as integer
sTicket = Mid(sSubject,4,7) 'start 4th char and grab 7 ... if you actually have the brackets in the subject then do 5,7
lLoginPos = InStr(sBody, "emea") + 5 'if they aren't all emea you will need to key off the "Req on behalf name" and add more to the result the result will be the e in emea so add 5 to get past that to the login.
iLoginLength = InStr(sBody, "Req on behalf mail") - lLoginPos ' you might need to subtract an additional 1 or 2 if your result isn't perfect. Not sure what the blank white spaces in your screenshot will do here.
sLogin = Mid(sBody,lLoginPos,iLoginLength) ' grabs that username.
With Sheets("Sheet1")
cells(1,3) = sLogin ' puts that into Row 1 Colum 3 (C) Cells is R1C1 ... backwards from the normal way you think of excel
End With
使用其他字符串變量所有你要搶,只是重複尋找起點和結束的地方,然後,使用中間把它變成一個變量的邏輯的其他部分。
給它一個填補其餘的問題,如果你卡住了,發佈你的代碼到那一點,讓我們知道什麼線路給你帶來麻煩。 不要忘記打開你的本地窗口,並使用你的F8鍵一次一行地瀏覽代碼,以便你可以看到到底發生了什麼。這對字符串操作特別有用。
從TK開始?從風暴戰士獲取電子郵件?你有沒有嘗試過的東西,可以在這裏發佈?這通常是最好的,因爲有很多方法去皮膚貓。如果您嘗試過並失敗了,可能需要快速編輯才能使其正常工作。 – Rodger
到目前爲止,我所嘗試過的所有工作都是複製文本的全部內容。我在網上看了一下,試圖找到一種方法來只抓住特定的文本,但是實際上並沒有任何關於它的東西。我真的不知道該從哪裏開始,對不起。 Tk表示票證,它是一個自動票證號碼:P –
對於特定文本,您可以使用正則表達式,或者Instr和Mid的組合,或者甚至是Split。這還取決於身體或你的電子郵件是純文本還是表格。您應該提供代碼並指出您遇到的問題。 –