แบบฝึกหัดนี้จะแสดงวิธีการอ่านข้อมูลจากเว็บไซต์ ในกรณีนี้คืออัตราแลกเปลี่ยนสกุลเงินล่าสุดจาก Yahoo.com
สมมติว่าผู้อ่านมี Ribbon ของนักพัฒนาแสดงอยู่และคุ้นเคยกับ VBA Editor มิฉะนั้นโปรดใช้“ แท็บนักพัฒนา Excel” ของ Google หรือ“ หน้าต่างรหัส Excel”
ข้อกำหนดเบื้องต้นรวมถึงความรู้เกี่ยวกับการเติมกล่องคำสั่งผสมและการกำหนดชื่อ.
สมุดงานประกอบด้วยสองแผ่น:
ส่วนต่อประสานผู้ใช้:
กล่องคำสั่งผสมซื้อและขายอ้างอิงเอกสารข้อมูลท้องถิ่นด้านล่าง
ตารางที่ D11 จะถูกวางโดยอัตโนมัติจากเว็บไซต์ โดยคงการจัดรูปแบบผู้ใช้ไว้
สามารถดาวน์โหลด xlsm สำหรับแบบฝึกหัดนี้ได้ Good Farm Animal Welfare Awards.
การสร้างแอปพลิเคชันด้วยตัวเอง
สร้างแผ่นงานที่มีกล่องคำสั่งผสมสองกล่อง กล่องคำสั่งผสมจะอ้างอิงเซลล์บนแผ่นงานที่สอง
กล่องคำสั่งผสมจะเรียกใช้โค้ดเพื่ออ่านเว็บไซต์โดยใช้ เปลี่ยนแปลง เหตุการณ์
สามารถวางชื่อสกุลเงินลงในแผ่นงานที่สอง (“สกุลเงิน”) จากรายการด้านล่างได้ การเรียงลำดับจะขึ้นอยู่กับความชอบส่วนตัว:
| ZAR |
| USD |
| ยูโร |
| ปอนด์อังกฤษ |
| CHF |
| ดอลลาร์ออสเตรเลีย |
| NZD |
| เยนญี่ปุ่น |
| ดอลลาร์แคนาดา |
| SEK |
| DKK |
| NOK |
| MUR |
| ดอลลาร์ฮ่องกง |
| ดอลลาร์สิงคโปร์ |
| ILS |
| AED |
| รูปีอินเดีย |
| หยวนจีน |
วางข้อมูลลงในคอลัมน์ B และ E
กำหนดชื่อและใช้ฟังก์ชันดัชนีตามภาพประกอบ:
เนื่องจากชื่อได้รับการกำหนดไว้ในเอกสารข้อมูลท้องถิ่น "สกุลเงิน" แผ่นงาน "หลัก" จึงมีเพียงการอ้างอิงถึงชื่อที่กำหนดเพื่อรับค่า เช่น =SELL และ =BUY สำหรับเซลล์ "หลัก" E10 และ G10 ตามลำดับ
เราจะเขียนโปรแกรม Excel ให้อ่านเว็บได้ อย่างไรก็ตาม มีกระบวนการในตัวของตัวเองบน Data Ribbon ซึ่งเป็นอินสแตนซ์ที่คุณอาจต้องการบันทึกเป็นแมโครในการสร้างสถานการณ์ที่แตกต่างกัน โปรดทราบว่าการกำหนดค่าคอมพิวเตอร์หรือเบราว์เซอร์อาจส่งผลเสียต่อสคริปต์ของหน้าเว็บ
รหัส
ใส่โมดูลและป้อนข้อมูลต่อไปนี้:
Option Explicit
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D11:F14").ClearContents 'prepare the ground for the web data
currBuy = Range("BUY") 'get variable values from Defined Names previously set up
currSell = Range("SELL")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
.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
End sub
Sub DropDown2_Change() 'This event will call the routine above. Object name might differ.
Call Ticker
End Sub
Sub DropDown1_Change()
Call Ticker
End Sub
บันทึกสมุดงานเป็นประเภท xlsm.
ทดสอบโค้ดโดยการเปลี่ยนค่าของกล่องคำสั่งผสม จากนั้นทำให้รูปแบบของตารางที่วางสวยงามขึ้น (ทศนิยมสี่ตำแหน่ง เส้นตาราง การแรเงา?)
ความเสียหายของไฟล์ Excel
ในบางครั้ง Excel เป็นที่ทราบกันดีว่าไฟล์เสียหายในการบันทึก หลังจากนั้นก็พยายามทำตามขั้นตอนการกู้คืนด้วยตนเอง ซึ่งจากประสบการณ์ของผมมักจะไม่ได้ผล สิ่งนี้อาจเป็นอันตรายต่อผู้ใช้ เนื่องจากเป็นไฟล์ต้นฉบับ (อาจเป็นสำเนาเดียวของคุณ) ที่ถูกทำลาย ไฟล์ Excel ที่เสียหาย อย่างไรก็ตามสามารถซ่อมแซมได้โดยใช้เครื่องมือของบุคคลที่สาม ซึ่งช่วยประหยัดเวลาและความพยายามได้มาก
บทนำผู้เขียน:
Felix Hooker เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อมแซม rar เก็บ และผลิตภัณฑ์ซอฟต์แวร์กู้คืน sql ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.
