اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


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
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information