:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ปัญหาในการโหลดไฟล์ HTML พร้อมกันเยอะๆ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nogoitems
Member
Member
Posts: 1
Joined: Sat May 23, 2015 11:52 pm

ปัญหาในการโหลดไฟล์ HTML พร้อมกันเยอะๆ

#1

Post by nogoitems »

สวัสดีครับ ผมมือใหม่ Excel
อยากจะสอบถามปัญหานี้ครับ

Code: Select all

Function gethtmltext(URL As String, savepath As String) As String

Dim ie As Object, objDoc As Object
Dim strURI As String
strURI = URL
Set ie = CreateObject("internetexplorer.application")
ie.navigate strURI
'Wait for page to load!
Do
If ie.readyState = 4 Then
ie.Visible = False
Exit Do
Else
DoEvents
End If
Loop

Set objDoc = ie.document

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile(savepath, True, True)
oFile.WriteLine objDoc.body.innerHTML 
oFile.Close
Set fso = Nothing
Set oFile = Nothing
gethtmltext = objDoc.body.innerHTML

ie.Quit
Set objDoc = Nothing
Set ie = Nothing
End Function
ฟังก์ชั่นนี้สำหรับ เอา HTML Code จากเว็บมาเซฟลงไฟล์ text
แล้วผมไปรัน ฟังก์ชั่นนี้ ใน
For ให้วนหลายๆลูพ เพื่อเก็บ หน้า อื่นๆของเว็บนี้ ลงไฟล์ Text
แต่ไฟล์ Text ที่ ได้จากแต่ละหน้านั้น บางที ก็ซํ้ากันเป็นหน้าที่ 1 หมด
บางทีก็เหมือนจะเซฟมาได้ปกติดี แต่ หน้าที่ 15 กลับ กลายเป็นของหน้า 1 ซะได้ แล้วก็เหมือนจะปกติไปอีก ซัก3-4หน้า ก็ไป ซํ้ากับหน้า1ใหม่
แก้ไขอย่างไรดีครับผม ผมเคยลองหน่วงเวลาในแต่ละ ลูพแล้วก็ไม่เป็นผล
แต่เคยลองดึง ข้อมูล จากเว็บอยู่สองลิงค์ ในเวลาไล่เลี่กัน หลังจาก ดึงข้อมูลจากลิงค์ที่ 1มาเซฟเสร็จ
จะดึงข้อมูลจาก URL ลิงค์สอง ต้องกด รันๆ ซํ้าๆกันหลายๆทีๆ หรือ ไม่ก็รอเวลาซักพัก ไฟล์ที่เซฟได้ถึงจะเป็นของลิงค์ที่ 2
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ปัญหาในการโหลดไฟล์ HTML พร้อมกันเยอะๆ

#2

Post by snasui »

:D เนื่องจากไม่ได้แจ้งว่า Save แยกเป็นแต่ละไฟล์หรือไฟล์เดียวแต่นำข้อมูลมาวางต่อเนื่องกันไป สำหรับด้านล่างเป็นตัวอย่างการวางข้อมูลต่อเนื่องกันไปในไฟล์เดียวครับ

Code: Select all

Function gethtmltext(URL As String, savepath As String) As String

    Dim ie As Object, objDoc As Object
    Dim strURI As String
    strURI = URL
    Set ie = CreateObject("internetexplorer.application")
    ie.navigate strURI
    'Wait for page to load!
    
    DoEvents
    Do
        If ie.readyState = 4 Then
            ie.Visible = False
            Exit Do
        End If
    Loop
    
    Set objDoc = ie.document
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Dir(savepath) <> "" Then
        Dim ff As Long
        ff = FreeFile
        Open savepath For Append As #ff
        Print #ff, StrConv(objDoc.body.innerHTML, vbUnicode)
        Close #ff
    Else
        Dim oFile As Object
        Set oFile = fso.CreateTextFile(savepath, True, True)
        oFile.writeline objDoc.body.innerHTML
        oFile.Close
    End If

    Set fso = Nothing
    Set oFile = Nothing
    gethtmltext = objDoc.body.innerHTML
    
    ie.Quit
    Set objDoc = Nothing
    Set ie = Nothing
End Function
Post Reply