บทความนี้แสดงวิธีรีเฟรชเวิร์กชีตหรือแผนภูมิในช่วงเวลาปกติ แบบฝึกหัดนี้สร้างตัวจับเวลาที่รีเฟรชเวิร์กชีตทุก ๆ หนึ่งนาทีซึ่งสะท้อนถึงการเปลี่ยนแปลงในแหล่งข้อมูล
บทความนี้ถือว่าผู้อ่านมี Ribbon ของนักพัฒนาปรากฏอยู่และคุ้นเคยกับ VBA Editor มิฉะนั้นโปรดใช้“ แท็บนักพัฒนา Excel” ของ Google หรือ“ หน้าต่างรหัส Excel”
ตัวอย่างของสมุดงานที่ใช้ในแบบฝึกหัดนี้สามารถพบได้ Good Farm Animal Welfare Awards.
การใช้การรายงานแบบไดนามิกอาจเป็น:
- อ่านฐานข้อมูลเฉพาะที่มาพร้อมกับระบบโทรศัพท์ของบริษัท เพื่อวิเคราะห์การโทร
- สร้างหมายเลขสุ่มทุกๆ 15 นาทีเพื่อวัตถุประสงค์ในการรับรางวัลหรือการจับฉลาก
- ส่งอีเมลอัตโนมัติจากฐานข้อมูลในพื้นที่ของคุณเมื่อถึงระดับที่กำหนด (ที่นี่ตัวจับเวลาจะตัดสินใจว่าจะเริ่มกระบวนการหรือไม่ขึ้นอยู่กับระดับที่ทำได้)
หรือสิ่งที่เราจะใช้:
- แสดงอัตราแลกเปลี่ยน USD / EUR ล่าสุดจากอินเทอร์เน็ต
ข้อมูลถูกดึงมาจากไฟล์ เว็บไซต์ Yahoo Finance ทุก ๆ หนึ่งนาที เมื่อทดสอบสำเร็จแล้วควรเปลี่ยนช่วงเวลาการประมวลผลที่นานขึ้น
อินเทอร์เฟซ
เปิดสมุดงานใหม่
ตั้งชื่อแผ่นงานแรกว่า "Display" เนื่องจากตาราง D8 ถึง E11 จะถูกเติมจากเว็บจึงไม่จำเป็นต้องป้อนค่าหรือส่วนหัวของแถว ส่วนที่เหลือเป็นทางเลือก
รหัส
เปิดหน้าต่างรหัส VBA และใส่โมดูล คัดลอกโค้ดด้านล่างลงในโมดูล
เหตุการณ์ Auto_Open จะเริ่มตัวจับเวลาเมื่อเปิดเวิร์กบุ๊ก และจะหยุดเมื่อปิดเวิร์กบุ๊ก เว้นแต่ว่านักพัฒนาจะขัดจังหวะการทำงานของโค้ดในระหว่างการพัฒนา
Sub Auto_Open()
AlertTime = Now + TimeValue("00:01:00") 'interval in minutes
Application.OnTime AlertTime, "Ticker" 'call Sub Ticker, below
End Sub
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D8:F11").ClearContents 'prepare the destination for the web data
currBuy = "USD"
currSell = "EUR"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$8"))
.Name = "q?s=" & currSell & currBuy & "=X"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
AlertTime = Now + TimeValue("00:01:00") ‘move trigger on a minute
Application.OnTime AlertTime, "Ticker"
End Sub
ผลลัพท์
ทุกๆ n นาทีตารางในแผ่นงาน“ แสดง” จะได้รับการอัปเดตจากเว็บไซต์ Yahoo อ้างอิงเว็บไซต์ของ Microsoft สำหรับการเชื่อมต่อข้อมูลที่ซับซ้อนมากขึ้น
การกู้คืนสมุดงานที่เสียหาย
โปรแกรม Excel อาจเกิดอาการขัดข้องในเวลาที่ไม่คาดคิด ซึ่งอาจเกี่ยวข้องกับการขาดแคลนทรัพยากร ในกรณีเช่นนี้ ไฟล์ต้นฉบับอาจเสียหายอย่างถาวรและไม่สามารถเปิดใหม่ได้ หากไม่มีการสำรองข้อมูลบ่อยๆ เครื่องมือในการกู้คืนจึงมีความสำคัญมาก Excel เสียหาย ไฟล์จะมีค่า
บทนำผู้เขียน:
Felix Hooker เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ การแก้ไขแรร์ และผลิตภัณฑ์ซอฟต์แวร์กู้คืน sql ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

