Chào Thầy, em chưa hiểu chỗ này, ví dụ có đoạn code như sau:
Sub ABC()
Msgbox ("Xin Chao", vbYesNoCancel + vbCritical, "Thong Bao")
End Sub
Tại sao trong đoạn code trên chúng ta để nội dung trong dấu (...) thì báo lỗi, còn nểu bỏ dấu ngoặc đi thành như thế này
Sub ABC()
Msgbox "Xin Chao", vbYesNoCancel + vbCritical, "Thong Bao"
End Sub
Thì lại được ạ
Đối tượng msgbox có thể dùng theo 2 cách:
Cách 1: Dùng msgbox như 1 hàm
Với cách này bạn cần viết dạng:
Dim ThongBao as object
ThongBao = msgbox("Xin Chao", vbYesNoCancel + vbCritical, "Thong Bao")
Khi viết nội dung msgbox trong dấu (...) thì dùng theo cách này, lúc này msgbox là phần nằm bên phải dấu bằng để gán cho 1 biến.
Bạn có thể lập trình kỹ hơn cho msgbox bằng cú pháp:
With ThongBao
...
End With
---
Cách 2: dùng msgbox như 1 câu lệnh
là cách viết không có dấu (...)
Cách này thì bạn phải viết lại msgbox mỗi khi muốn gọi nó ra.
---
Hiểu đơn giản vậy thôi. Muốn lập trình kỹ hơn cho đối tượng msgbox thì nên dùng cách 1 để làm việc thông qua biến. Khi đó làm việc với nhiều msgbox sẽ dễ dàng hơn. Còn chỉ gọi msgbox đơn lẻ và không làm việc sâu hơn thì dùng cách 2 cho nhanh.
Lúc học tới Video MsgBox thầy không nói về vấn đề này, nên khi em thử thì không được mà không rõ lý do, cám ơn Team ạ
Nội dung nào chưa hiểu bạn cứ hỏi thêm nhé, vì bài giảng đôi khi chỉ nói được ý chính thôi, trong quá trình học nếu bạn phát triển thêm, tìm hiểu thêm các hướng khác thì rất tốt, khi bạn đặt câu hỏi sẽ được giải thích rõ hơn và bổ sung thêm tài liệu cho bạn tham khảo.
Thầy cho em hỏi, khi em nhập đoạn mã nội dung:
Sub Phanhoi()
Dim Thongbao As Object
Thongbao = MsgBox("Xin chao", vbYesNoCancel + vbCritical, "Thong bao")
End Sub
Thì chạy đucợ tuy nhiên nhấn nút Yes/No/Cancel xong được thông báo này thì bị lỗi gì ạ
Khi đặt ở chế độ Yes/No thì bạn cần lập trình thêm trường hợp khi bấm Yes thì làm gì, Bấm Cancel thì làm gì... để điều hướng tiếp cho thông báo này.
Thường đặt msgbox này trong 1 cấu trúc IF hoặc Case (bạn có thể tham khảo cấu trúc Select Case ở đây: