Abrir teclado virtual en access

Necesito que al dar click a un cuadro de texto, me abra el teclado virtual de windows.

Ahora tengo esto:

Shell ("C:\Windows\system32\osk.exe")

Al ejecutarlo, me dice "Se ha producido error 53 en tiempo de ejecución, archivo no encontrado"

¿Qué me falta de poner?

1 respuesta

Respuesta
2

Prueba con ShellExecute en vez de con Shell:

1º/ Declaras la función en un módulo independiente:

#If VBA7 Then
  'Access 2010 e 2013
  Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, _
  ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
#Else
  'Access 2003 e 2007
  Declare 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
#End If

2º/ Haces la llamada al osk:

ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1

Esta solución la saqué de aquí: http://www.maximoaccess.com/t15518-resolvidoerro-na-funcao-de-chamada-do-teclado-virtual

Y si no te funciona, prueba este otro teclado virtual:

Shell ("C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")

Está sacado de aquí: http://www.utteraccess.com/forum/index.php?showtopic=2036229 . Si te registras en ese foro, puedes descargar los archivos de ejemplo usados para llegar a una solución.

A ver si hay suerte (yo no lo puedo comprobar, que ahora mismo solo tengo acceso a un Win 7)

Un saludo.


Hola, Tengo puesto esto:

Private Sub Comando24_Click()
Shell ("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe")
End Sub

Y al dar click me sale que "se ha producido el error 5 en tiempo de ejecución:

argumento o llamada a procedimiento no valida.

Me falta algo más?

Gracias.

Pues no lo sé, yo solo te ofrecí dos soluciones que vi en otros foros, y aparentemente funcionaban. Como te decía antes, no lo puedo comprobar en un Windows 10, que parece ser que es donde está el problema...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas