UserForm'a Komut Tuşu ile Ekran klavyesi açma

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar Bilgisayarda dil paketi olarak Arapça dil paketi var. UserForm açık iken Komut tuşu ile Arapça olarak ekran klavyesini (Türkçe dil aktif iken) nasıl açabiliriz?
Klavyeyi kapatınca Bilgisayar klavye dili eski haline Türkçe'ye dönecek
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dil seçimi nasıl yapılır bilemiyorum ama netten aşağıdaki koda eriştim. Belki ihtiyacı olanlar kullanmak ister.


C++:
Option Explicit

Dim lngPtr As Long
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
Private Declare PtrSafe Function Wow64DisableWow64FsRedirection Lib "kernel32.dll" (ByRef ptr As Long) As Boolean
Private Declare PtrSafe Function Wow64RevertWow64FsRedirection Lib "kernel32.dll" (ByRef ptr As Long) As Boolean

Private Function ShowKeyboard()
    Call Wow64DisableWow64FsRedirection(lngPtr)
    ShellExecute 0, "open", "osk.exe", "", "", vbNormalFocus
    Call Wow64RevertWow64FsRedirection(lngPtr)
End Function

Private Function HideKeyboard()
    Call Wow64DisableWow64FsRedirection(lngPtr)
    ShellExecute 0, "open", "tskill", "osk", "", vbHidden
    Call Wow64RevertWow64FsRedirection(lngPtr)
End Function
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Dil seçimi nasıl yapılır bilemiyorum ama netten aşağıdaki koda eriştim. Belki ihtiyacı olanlar kullanmak ister.


C++:
Option Explicit

Dim lngPtr As Long
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
Private Declare PtrSafe Function Wow64DisableWow64FsRedirection Lib "kernel32.dll" (ByRef ptr As Long) As Boolean
Private Declare PtrSafe Function Wow64RevertWow64FsRedirection Lib "kernel32.dll" (ByRef ptr As Long) As Boolean

Private Function ShowKeyboard()
    Call Wow64DisableWow64FsRedirection(lngPtr)
    ShellExecute 0, "open", "osk.exe", "", "", vbNormalFocus
    Call Wow64RevertWow64FsRedirection(lngPtr)
End Function

Private Function HideKeyboard()
    Call Wow64DisableWow64FsRedirection(lngPtr)
    ShellExecute 0, "open", "tskill", "osk", "", vbHidden
    Call Wow64RevertWow64FsRedirection(lngPtr)
End Function
Korhan Bey bu kodu "CommandButton" tuşuna nasıl uyarlayabiliriz
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Private Function ShowKeyboard()

Kalın fontla belirttiğim bölüme Public yazın.

Sonrasında aşağıdaki gibi kullanabilirsiniz.

C++:
Private Sub CommandButton1_Click()
    ShowKeyboard
End Sub
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Private Function ShowKeyboard()

Kalın fontla belirttiğim bölüme Public yazın.

Sonrasında aşağıdaki gibi kullanabilirsiniz.

C++:
Private Sub CommandButton1_Click()
    ShowKeyboard
End Sub
Korhan Bey çok özür dilerim.
Dediğinizi tam anlayamadım. Farklı denemeler yaptım ama olmadı.
Kodu bir bütün olarak "CommandButton" içinde olarak şekilde düzenleyip eklemeniz mümkün mü acaba
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Önerdiğim ilk kodu boş bir modül içine kopyalayın.

Sonraki mesajımda bahsettiğim satırdaki değişikliği yapın.

Son olarak butona önerdiğim şekilde fonksiyonu çağırabilirsiniz.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Önerdiğim ilk kodu boş bir modül içine kopyalayın.

Sonraki mesajımda bahsettiğim satırdaki değişikliği yapın.

Son olarak butona önerdiğim şekilde fonksiyonu çağırabilirsiniz.
Korhan Bey teşekkürler çalıştı.
Buna dil kodu ekleyebilsek ne güzel olacak
 
Üst