Page 1 of 1

Outlook: ต้องการดาวน์โหลดไฟล์จาก Hyperlink ใน Sub-Folder อัตโนมัติ

Posted: Fri Oct 08, 2021 1:54 pm
by Botman03
สวัสดีครับ

ผมได้รับ Auto email จากระบบทุกวันแต่ปัญหาคือได้รับเป็น hyperlink ไม่ใช่ file ครับ
จึงอยากสอบถามพี่ๆ พอจะมีวิธีให้ดาวน์โหลดไฟล์ทุกไฟล์จาก Subfolderใน Outlook ที่ผมตั้งให้เมลเข้าไว้ มาสู่ Specific folder ในคอมพิวเตอร์มั้ยครับ ?

ด้านล่างคือ Codeที่ผมลอง แต่มันจะใช้ได้กับลิงค์เดียวครับ


Option Explicit
Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Sub DownloadFile()
Dim WinHttpReq As Object
Dim oStream As Object
Dim myURL As String
Dim LocalFilePath As String

'myURL = "http://th.app.xpress.com/WebPortal/Auto ... 676cf37ec3"
'LocalFilePath = "C:\Users\OChaowana\Desktop\Volume Hourly\PQ\TST\TEST.xlsx"

Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "", "" '("username", "password")
WinHttpReq.Send

If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile LocalFilePath, 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Sub

Re: Outlook: ต้องการดาวน์โหลดไฟล์จาก Hyperlink ใน Sub-Folder อัตโนมัติ

Posted: Fri Oct 08, 2021 5:30 pm
by snasui
:D กรุณาโพสต์ Code ให้แสดงเป็นรูปแบบ Code พร้อมแนบไฟล์ตัวอย่างเพื่อสะดวกในการตอบของเพื่อนสมาชิก อ่านกฎการใช้บอร์ดข้อ 4 และ 5 ด้านบนประกอบด้วยครับ :roll:

Re: Outlook: ต้องการดาวน์โหลดไฟล์จาก Hyperlink ใน Sub-Folder อัตโนมัติ

Posted: Sat Oct 09, 2021 9:22 am
by Botman03
Botman03 wrote: Fri Oct 08, 2021 1:54 pm
ขอโทษด้วยครับ หาปุ่มแก้ไขโพสไม่เจอ , ตัวไฟล์ไม่ได้มีเพราะลิงค์เป็นinternalครับ ขอโทษด้วยครับ

ผมได้รับ Auto email จากระบบทุกวันแต่ปัญหาคือได้รับเป็น hyperlink ไม่ใช่ file ครับ
จึงอยากสอบถามพี่ๆ พอจะมีวิธีให้ดาวน์โหลดไฟล์ทุกไฟล์จาก Subfolderใน Outlook ที่ผมตั้งให้เมลเข้าไว้ มาสู่ Specific folder ในคอมพิวเตอร์มั้ยครับ ?

ด้านล่างคือ Codeที่ผมลอง แต่มันจะใช้ได้กับลิงค์เดียวครับ

Code: Select all

Option Explicit
Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Sub DownloadFile()
Dim WinHttpReq As Object
Dim oStream As Object
Dim myURL As String
Dim LocalFilePath As String

'myURL = "http://th.app.xpress.com/WebPortal/AutoMailFile/GetAutoMailFile?tkn=d62bbea8-5859-41c3-84e6-a9676cf37ec3"
'LocalFilePath = "C:\Users\OChaowana\Desktop\Volume Hourly\PQ\TST\TEST.xlsx"

Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "", ""  '("username", "password")
WinHttpReq.Send

If WinHttpReq.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write WinHttpReq.responseBody
    oStream.SaveToFile LocalFilePath, 2 ' 1 = no overwrite, 2 = overwrite
    oStream.Close
End If
End Sub 

Re: Outlook: ต้องการดาวน์โหลดไฟล์จาก Hyperlink ใน Sub-Folder อัตโนมัติ

Posted: Sat Oct 09, 2021 10:48 am
by snasui
Botman03 wrote: Sat Oct 09, 2021 9:22 am ขอโทษด้วยครับ หาปุ่มแก้ไขโพสไม่เจอ , ตัวไฟล์ไม่ได้มีเพราะลิงค์เป็นinternalครับ ขอโทษด้วยครับ
:D สามารถแก้ได้ภายใน 60 นาทีหลังจากโพสต์แล้วครับ

กรณีไม่มีไฟล์แนบหรือวิธีให้ทดสอบต้องขออภัยที่จะแจ้งว่าผมไม่สามารถช่วยเหลือได้ครับ