- เริ่มต้นจาก Hello World
- ใช้งาน Control
- เรียก GET request
- ดาว์นโหลดรูปภาพมาบันทึกเป็นไฟล์ แล้วแสดงที่ Control Image
1.เริ่มต้นจาก Hello World
แสดงข้อความด้วย MsgBox
Sub MyCodeMacro() MsgBox "Hello World" End Sub
มีการคำนวณซักหน่อย
Sub MyCodeMacro() x = 3 * 5 MsgBox x End Sub
2.ใช้งาน Control
คลิกปุ่ม (Command0
) แล้วเอาค่าไปหยอดลง Textbox (Text1
) ให้ใช้ .Value
เพราะถ้าใช้ .Text
จะฟ้องว่า “you can’t reference a property or method for a control unless the control has the focus“
กำหนดค่าให้ TextBox
Private Sub Command0_Click() Text1.Value = "Hello World!" End Sub
อ่านค่าจาก TextBox
Private Sub Command0_Click() MsgBox Text1.Value End Sub
3.เรียก GET request
ก่อนอื่นไปที่เมนู Tools > References แล้วเพิ่ม Microsoft XML v6.0
Sub SimpleGet1() 'Add a reference to Microsoft XML v6.0 via Tools > References apiURL = "https://localhost:44335/api/default/5" requestString = apiURL Set request = New ServerXMLHTTP60 'creates the object request.Open "GET", requestString, False 'populates object fields request.send 'actually sends the request MsgBox request.responseText request.abort End Sub
.NET Core WebApi (DefaultController
)
// GET api/values/5 [HttpGet("{id}")] public ActionResult<string> Get(string id) { return "Hello" + id; }
การต่อพารามิเตอร์ให้กับ GET request
Sub SimpleGet2() 'Add a reference to Microsoft XML v6.0 via Tools > References apiURL = "https://api.iextrading.com/1.0/" endpoint = "tops/last" params = "symbols=" tickers = "MSFT,AAPL,AMZN" requestString = apiURL & endpoint & "?" & params & tickers Set request = New ServerXMLHTTP60 'creates the object request.Open "GET", requestString, False 'populates object fields request.send 'actually sends the request over the wire (internet) MsgBox request.responseText request.abort End Sub
4.ดาว์นโหลดรูปภาพมาบันทึกเป็นไฟล์ แล้วแสดงที่ Control Image
Public Sub httpGet(ByVal sourcePath As String, ByVal destinationPath As String) Dim xmlHTTP Dim contents Dim oStr Set xmlHTTP = CreateObject("Microsoft.XMLHTTP") xmlHTTP.Open "GET", sourcePath, False xmlHTTP.send contents = xmlHTTP.responseBody Set oStr = CreateObject("ADODB.Stream") oStr.Mode = adModeReadWrite oStr.Type = adTypeBinary oStr.Open oStr.write (contents) oStr.SaveToFile destinationPath, adSaveCreateOverwrite End Sub Private Sub Command4_Click() sourcePath = "https://localhost:44335/api/default/" & Text1.Value filePath = "C:\tmp\" & Text1.Value & ".png" httpGet sourcePath, filePath Image3.Picture = filePath End Sub
.NET Core WebApi (DefaultController
)
// GET api/values/5 [HttpGet("{id}")] public ActionResult<string> Get(string id) { BarcodeLib.Barcode b = new BarcodeLib.Barcode(); Image img = b.Encode(BarcodeLib.TYPE.CODE128, id , Color.Black, Color.White, 290, 120); img.Save("code128.png", ImageFormat.Png); Byte[] b1 = System.IO.File.ReadAllBytes("code128.png"); return File(b1, "image/png"); }