تفضل مشاركتي البسيطة ،
حيث Open_Key اسم الزر الذي ستستخدمه لتنفيذ الكود .
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub OpenKeyboard()
Dim osVersion As String
Dim command As String
osVersion = GetOSVersion()
If osVersion = "10" Then
command = "osk.exe"
Else
command = "osk.exe"
End If
ShellExecute 0, "runas", command, vbNullString, vbNullString, 1
End Sub
Function GetOSVersion() As String
Dim osVersion As String
osVersion = SysCmd(acSysCmdAccessVer)
GetOSVersion = Left(osVersion, InStr(osVersion, ".") - 1)
End Function
Private Sub Open_Key_Click()
OpenKeyboard
End Sub
وهذا مرفق للتجربة
Keyboard.accdb
مع العلم أنه تمت تجربة كود الأستاذ @Moosak ويعمل بكفاءة