اذهب الي المحتوي
أوفيسنا

كود لتغيير لغة الإدخال في حقل من نموذج


Hamdi Edlbi-khalf

الردود الموصى بها

السلام عليكم

أبحث عن كود 

vba

أستطيع من خلاله تغيير لغة الإدخال في حقل في نموذج بشرط .

وجدت أوامر لتغير لغة الإدخال في حقل من نموذج إكسل 

و فكرة العمل 

عند تغيير قيمة نافذة منسدلة من كلمة 

عربي إلى إنكليزي

تتحول لغة الإدخال تلقائياً في حقل آخر إلى الإنكليزي و العكس بالعكس 

و لكم جزيل الشكر .

رابط هذا التعليق
شارك

السلام عليكم

أستاذ

@kanory

شكراً لك 

الكود يعمل  و لكن لا يحقق المطلوب فهو لا 

يأخذ بعين الاعتبار شرط قيمة مربع السرد و الحوار فبمجرد التركيز تتغير اللغة من الإنكليزية إلى العربية دون العكس و دون الأخذ بشرط قيمة مربع السرد و الحوار .

مع ملاحظة أن لغة الجهاز  هي العربية .

 

  • Like 1
رابط هذا التعليق
شارك

يفضل إرفاق ملفك للتعديل عليه

الموضوع سهل جدا

لكن ربما لا يجد بعضنا الوقت في إنشاء مثال 

فالأسهل هو تعديل ملفك

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

https://access-programmers.co.uk/forums/showthread.php?t=193030

في هذا الرابط وجدت كوداً لكن يبدو أنني لم أحسن استخدامه

هذا هو الكود ..

أعتقد أن الحل به ..

Private Declare Function ActivateKeyboardLayout Lib _
"user32.dll" (ByVal myLanguage As Long, Flag As Boolean) As Long

'define your desired keyboardlanguage
'find your desired language at 

Private Const MKD = 1071 'macedonian keyboard language layout
Private Const eng = 1033 'english(united states)keyboard language layout


Private Sub A_Enter()

Call ActivateKeyboardLayout(MKD, 0)

End Sub

Private Sub A_Exit(Cancel As Integer)

Call ActivateKeyboardLayout(eng, 0)

End Sub
رابط هذا التعليق
شارك

السلام عليكم

شكزاً لكم أساتذتي الكرام

 

الحل كان بتطبيق السؤال الموجود في 

بالرابط و ليس الإجابة

و هو باستخدام دالة 

vba

.keyboardlanguage 

إلا أنني لم أعرف رقم الكيبورد العربي 

و كما أن الكود لا يغير اللغة مع فقد التركيز أو الخروج 

 

سأحاول و أوافيكم بالنتيجة 

رابط هذا التعليق
شارك

5 ساعات مضت, Khalf said:

عند تغيير قيمة نافذة منسدلة من كلمة 

عربي إلى إنكليزي

تتحول لغة الإدخال تلقائياً في حقل آخر إلى الإنكليزي و العكس بالعكس

اتفضل اليك هذا


Private Sub Combo2_AfterUpdate()
    If Me.Combo2 = "english" Then
        Me.Text0.KeyboardLanguage = 1
    ElseIf Me.Combo2 = "Arabic" Then
        Me.Text0.KeyboardLanguage = 2
    End If
End Sub

والمثال Database1.mdb

  • Thanks 1
رابط هذا التعليق
شارك

1 hour ago, Shivan Rekany said:

اتفضل اليك هذا



Private Sub Combo2_AfterUpdate()
    If Me.Combo2 = "english" Then
        Me.Text0.KeyboardLanguage = 1
    ElseIf Me.Combo2 = "Arabic" Then
        Me.Text0.KeyboardLanguage = 2
    End If
End Sub

والمثال Database1.mdb

ألف شكر أستاذ

@Shivan Rekany

فعلاً هذه الطريقة التي توصلت إليها

مع فارق بسيط

هو أني وضعت كود لوحة المفاتيح 

الإنكليزية ١١

و العربية ٣

و جعلت الحدث عند التركيز أو الإدخال في الحقل الذي أردت تطبيق تغيير اللغة عليه .

و إضافتك القيمة ستجعل الموضوع أثرى و أهم 

ألف شكرٍ لكم و أسعد الله قلوبكم .

تم تعديل بواسطه Khalf
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information