-
Gửi Tin Nhắn bằng Access
Cuong Servenet > 26-07-18, 08:54 AM
Nhu tiêu đề thì đa có anh chị nào đã làm cái này chưa ạ?
Em muốn tạo 1 chương trình gửi tin nhắn nội bộ giữa 2 máy tính trong 1 công ty sửa dụng mạng Lan thì làm thế nào. anh chi nào có kinh nghiệm chỉ giúp em với -
RE: Gửi Tin Nhắn bằng Access
ongke0711 > 26-07-18, 12:32 PM
- Nếu dùng VBA Access thì bạn tham khảo bài này: tuỳ chỉnh thêm vài điểm là dùng đc. Tạo thêm field lưu nội dung thông báo trên BE rồi đưa vô popup message thôi.
Link: http://thuthuataccess.com/forum/thread-9483.html
- Nếu đơn giản hơn thì dùng lênh Shell của Windows làm luôn:
Mã PHP:Sub sendSMS()
Dim oWshShell As Object
Dim strUserName As String
Dim strMsg As String
Set oWshShell = CreateObject("WScript.Shell")
strUserName = "ongke0711"
strMsg = "Hello"
oWshShell.Run "Msg " & strUserName & " " & strMsg, 0, True
Set oWshShell = Nothing
End Sub -
RE: Gửi Tin Nhắn bằng Access
Cuong Servenet > 26-07-18, 04:55 PM
(26-07-18, 12:32 PM)ongke0711 Đã viết: - Nếu dùng VBA Access thì bạn tham khảo bài này: tuỳ chỉnh thêm vài điểm là dùng đc. Tạo thêm field lưu nội dung thông báo trên BE rồi đưa vô popup message thôi.
Link: http://thuthuataccess.com/forum/thread-9483.html
- Nếu đơn giản hơn thì dùng lênh Shell của Windows làm luôn:
Mã PHP:Sub sendSMS()
Dim oWshShell As Object
Dim strUserName As String
Dim strMsg As String
Set oWshShell = CreateObject("WScript.Shell")
strUserName = "ongke0711"
strMsg = "Hello"
oWshShell.Run "Msg " & strUserName & " " & strMsg, 0, True
Set oWshShell = Nothing
End Sub
anh có thể nói rõ hơn được không, em vẫn đang mông lung ở cái cách đơn giản mà anh chia sẻ -
RE: Gửi Tin Nhắn bằng Access
ongke0711 > 26-07-18, 10:01 PM
Ngay trong Windows, cửa sổ dòng lênh cũng có thể dùng Command Prompt để chạy Windows Command gửi messaage tới các máy trong mạng LAN. Bạn chỉ cần mở cmd.exe để chạy các dòng lệnh. Vô Windows Start -> Run -> gõ CMD -> Enter.
Trước đây để gửi tin nhắn giữa các máy thì dùng lệnh: Net Send, từ Win Vista trở lên thì dùng lệnh: Msg
Như hình dứoi đây, tôi dùng lênh "Msg" để gửi tới Username của máy là: "quocbao" dòng text "Hello ongke0711".
Theo cách này thay vì mở cửa sổ Command Promt để gõ thì gọi Windows Shell Script để thực thi giùm mình.
Mỗi lệnh trong DOS có các tham số riêng của nó, bạn tự tìm hiểu thêm nhé.
Bạn copy dòng cái Sub sendSMS trên vào module rồi chạy test thử, kết quả như gõ trực tiếp lệnh trong cửa sổ Command Prompt.
Trong cái thủ tục trên có dòng code:
oWshShell.Run "Msg " & strUserName & " " & strMsg, 0, True ==> tham số 0 là để ẩn cửa số Command Prompt đi, chạy ngầm.
-
RE: Gửi Tin Nhắn bằng Access
Cường Servenet SE > 26-07-18, 11:28 PM
(26-07-18, 10:01 PM)ongke0711 Đã viết: Ngay trong Windows, cửa sổ dòng lênh cũng có thể dùng DOS command để gửi messaage tới các máy trong mạng LAN. Bạn chỉ cần mở cmd.exe để chạy các dòng lệnh DOS. Vô Windows Start -> Run -> gõ CMD -> Enter.
Trước đây để gửi tin nhắn giữa các máy thì dùng lệnh: Net Send, từ Win Vista trở lên thì dùng lệnh: Msg
Như hình dứoi đây, tôi dùng lênh "Msg" để gửi tới Username của máy là: "quocbao" dòng text "Hello ongke0711".
Theo cách này thay vì mở cửa sổ Command Promt để gõ thì gọi Windows Shell Script để thực thi giùm mình.
Mỗi lệnh trong DOS có các tham số riêng của nó, bạn tự tìm hiểu thêm nhé.
Bạn copy dòng cái Sub sendSMS trên vào module rồi chạy test thử, kết quả như gõ trực tiếp lệnh trong cửa sổ Command Prompt.
Trong cái thủ tục trên có dòng code:
oWshShell.Run "Msg " & strUserName & " " & strMsg, 0, True ==> tham số 0 là để ẩn cửa số Command Prompt đi, chạy ngầm.
Em hỏi ngu phát nữa, cách dùng cái Shell kia của anh thì ko điền địa chỉ IP người nhận thì sao họ nhận đc tin vậy anh nhỉ.
Ví dụ như gửi sms thì mình cần fai biết số điện thoại của họ thì mình mới gửi dc chứ nhỉ -
RE: Gửi Tin Nhắn bằng Access
ongke0711 > 27-07-18, 12:42 AM
(26-07-18, 11:28 PM)Cường Servenet SE Đã viết: Em hỏi ngu phát nữa, cách dùng cái Shell kia của anh thì ko điền địa chỉ IP người nhận thì sao họ nhận đc tin vậy anh nhỉ.
Ví dụ như gửi sms thì mình cần fai biết số điện thoại của họ thì mình mới gửi dc chứ nhỉ
Tôi có nói bạn ngâm cứu thêm mấy tham số của lệnh MSG đó.
Trong ví dụ của tôi là dùng tham số Username để gửi. Mỗi nhân viên bạn cấp 1 Username để đăng nhập máy tính trong cty thì bạn chọn Username nào bạn muốn gửi. Nếu muốn gửi tới máy tính thì dùng địa chỉ IP. Thường thì máy tính trong Cty cũng là IP động vậy làm sao bạn biết máy đích bạn muốn gửi là IP bao nhiêu? Do vậy tôi mới dùng demo bằng Username.
Câu lệnh gửi tới IP máy tính:
msg */Server:192.168.1.55 "Hello world" -
RE: Gửi Tin Nhắn bằng Access
Cuong Servenet > 27-07-18, 08:09 AM
(27-07-18, 12:42 AM)ongke0711 Đã viết:
(26-07-18, 11:28 PM)Cường Servenet SE Đã viết: Em hỏi ngu phát nữa, cách dùng cái Shell kia của anh thì ko điền địa chỉ IP người nhận thì sao họ nhận đc tin vậy anh nhỉ.
Ví dụ như gửi sms thì mình cần fai biết số điện thoại của họ thì mình mới gửi dc chứ nhỉ
Tôi có nói bạn ngâm cứu thêm mấy tham số của lệnh MSG đó.
Trong ví dụ của tôi là dùng tham số Username để gửi. Mỗi nhân viên bạn cấp 1 Username để đăng nhập máy tính trong cty thì bạn chọn Username nào bạn muốn gửi. Nếu muốn gửi tới máy tính thì dùng địa chỉ IP. Thường thì máy tính trong Cty cũng là IP động vậy làm sao bạn biết máy đích bạn muốn gửi là IP bao nhiêu? Do vậy tôi mới dùng demo bằng Username.
Câu lệnh gửi tới IP máy tính:
msg */Server:192.168.1.55 "Hello world"
em thử tren access 2016 thì nó bị lỗi "Run iwshshell3 2147024894"
Cảm ơn a đã nhiệt tình giúp đỡ, em sẽ nghiên cứu thêm ạ -
RE: Gửi Tin Nhắn bằng Access
ongke0711 > 27-07-18, 10:15 AM
Bạn xem lại cú pháp, dấu ngoặc kép... -
RE: Gửi Tin Nhắn bằng Access
Cuong Servenet > 27-07-18, 11:06 AM
(27-07-18, 10:15 AM)ongke0711 Đã viết: Bạn xem lại cú pháp, dấu ngoặc kép...
bị lỗi đúng đoạn quan trọng nhất
[Code] oWshShell.Run "Msg " & strUserName & " " & strMsg, 0, True [Code]
em coppy như cái anh hướng dẫn bên phía trên test thử mà rính lỗi, em tìm hiểu trên mạng thì thấy bảo win 32 win 64 gi gì đó ko biết phải không? -
RE: Gửi Tin Nhắn bằng Access
ongke0711 > 27-07-18, 11:36 AM
Đối với Win 64bit, bạn đổi khai báo đường dẫn tới msg.exe như sau:
oWshShell.Run "C:\Windows\SysWOW64\msg.exe " & strUserName & " " & strMsg, 0, True