maiban1986
Thành viên thường trực
- Tham gia
- 28/2/13
- Bài viết
- 229
- Được thích
- 29
Anh Chị cho hỏi có cách nào tắt mở bộ gõ tiếng việt bằng vba không. nếu có xin Anh Chị hướng dẫn
Dùng thử cái này xem.Anh Chị cho hỏi có cách nào tắt mở bộ gõ tiếng việt bằng vba không. nếu có xin Anh Chị hướng dẫn
Public Sub CloseUniKey()
Dim oServ As Object
Dim cProc As Variant
Dim oProc As Object
Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("Select * from Win32_Process")
For Each oProc In cProc
If oProc.Name = "UniKeyNT.exe" Then
If MsgBox("Unikey dang chay ban co muon tat khong, Yes de tat No khong tat", vbYesNo) = vbYes Then oProc.Terminate 'kill exe
End If
Next
End Sub
Public Sub OpenUniKey()
Dim fso As Object
Dim sfile As String
Set fso = CreateObject("shell.application")
sfile = "C:\Program Files\unikey43RC4-180714-win64\UniKeyNT.exe"
fso.Open (sfile)
End Sub
cám ơn bác nhưng sao nó không chạy được ạDùng thử cái này xem.
Mã:Public Sub CloseUniKey() Dim oServ As Object Dim cProc As Variant Dim oProc As Object Set oServ = GetObject("winmgmts:") Set cProc = oServ.ExecQuery("Select * from Win32_Process") For Each oProc In cProc If oProc.Name = "UniKeyNT.exe" Then If MsgBox("Unikey dang chay ban co muon tat khong, Yes de tat No khong tat", vbYesNo) = vbYes Then oProc.Terminate 'kill exe End If Next End Sub Public Sub OpenUniKey() Dim fso As Object Dim sfile As String Set fso = CreateObject("shell.application") sfile = "C:\Program Files\unikey43RC4-180714-win64\UniKeyNT.exe" fso.Open (sfile) End Sub
Đường dẫn cho đúng nhécám ơn bác nhưng sao nó không chạy được ạ
Option Explicit
Function IsProcessRunning(process As String)
Dim objList As Object
Set objList = GetObject("winmgmts:").ExecQuery("select * from win32_process where name='" & process & "'")
If objList.Count > 0 Then
IsProcessRunning = True
Else
IsProcessRunning = False
End If
End Function
Sub OnUnikey()
If Not IsProcessRunning("UniKeyNT.EXE") Then
Call Shell("D:\Software\unikey43RC4-180714-win64\UniKeyNT.exe")
End If
End Sub
Sub OffUnikey()
Call CreateObject("WScript.Shell").Run("taskkill /f /im UniKeyNT.exe", 0, True)
End Sub
Anh Chị cho hỏi có cách nào tắt mở bộ gõ tiếng việt bằng vba không. nếu có xin Anh Chị hướng dẫn
Chạy chương trình trên máy của tôi thì hằng "UniKeyNT.exe" trong câu lệnh IF đầu tiên được thay bằng "UniKeyVista2.0.exe"Dùng thử cái này xem.
For Each oProc In cProc
' If oProc.Name = "UniKeyNT.exe" Then 'thay bằng
If oProc.Name = "UniKeyVista2.0.exe" Then
If MsgBox("Unikey dang chay ban co muon tat khong, Yes de tat No khong tat", vbYesNo) = vbYes Then oProc.Terminate 'kill exe
End If
Next
Code đủ là thế nào bạnChạy chương trình trên máy của tôi thì hằng "UniKeyNT.exe" trong câu lệnh IF đầu tiên được thay bằng "UniKeyVista2.0.exe"
Ngoài ra có thể biết tên mọi oProc, thêm Debug.Print oProc.Name vào sau For.Mã:For Each oProc In cProc ' If oProc.Name = "UniKeyNT.exe" Then 'thay bằng If oProc.Name = "UniKeyVista2.0.exe" Then If MsgBox("Unikey dang chay ban co muon tat khong, Yes de tat No khong tat", vbYesNo) = vbYes Then oProc.Terminate 'kill exe End If Next
xin cảm ơnChào bạn,
OT nghĩ có lẽ bạn đang gặp phải vấn đề liên quan đến thiết bị đọc mã vạch mà OT cũng đã từng va phải.
Bạn có thể tham khảo bài viết sau hi vọng sẽ đúng ý bạn: Khắc phục [QR-Code] sai do bộ gõ tiếng Việt
Không rõ bạn hỏi gì. Tôi không đưa ra khái niệm "code đủ".Code đủ là thế nào bạn
Chắc code sau là đủThớt muốn hỏi viết thế nào để chép vào module dùng luôn ấy mà, chứ nói thay ABC bằng ZYX thì không biết làm thế nào. Không biết có diễn dịch sai ý thớt không?
For Each oProc In cProc
Debug.Print oProc.Name
If oProc.Name = "UniKeyVista2.0.exe" Then
If MsgBox("Unikey dang chay ban co muon tat khong, Yes de tat No khong tat", _
vbYesNo) = vbYes Then oProc.Terminate 'kill exe
End If
Next