logo

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
ابوحنين لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة YasserKhalil لا تميز خلال هذه الفترة اكسيل مشاريع جاهزه



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





09-10-2020 11:37 مساءً
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
السلام عليكم ورحمة الله وبركاته

إخواني وأحبابي في الله


اليوم أقدم لكم موضوع في غاية الأهمية لكثير من الأعضاء ، وهو كيفية اكتشاف الأسماء العربية الخاطئة.

فكرة الكود تعتمد على فكرة استخدام التصحيح اللغوي الموجود في برامج الأوفيس ، وبشكل افتراضي يعتمد التصحيح على اللغة الإنجليزية ، لذا في أول الأمر نقوم بضبط هذا الأمر بتنصيب حزمة اللغة العربية من خلال الرابط التالي
https://support.microsoft.com/en-us/office/install-the-arabic-language-pack-for-32-bit-office-920a3905-1fde-4f65-88bd-25818f3d76cb?ui=en-us&rs=en-us&ad=us

ثم بعد التنصيب نذهب لخيارات الإكسيل Excel Options ثم التبويب Language ثم نطبق الخيارات كما بالصورة لنجعل التصحيح اللغوي يخص اللغة العربية

uzhNp_01

نأتي لفكرة الكود وخوارزمية الحل
فكرة الكود أن يتم عمل حلقة تكرارية لكل الأسماء الموجودة في العمود الأول ، ثم نقوم بتقسم الاسم بناءً على المسافات بحيث نقوم باستخراج كل الأسماء وأثناء التقسيم يتم الفحص اللغوي للكلمة فإذا كانت الكلمة خاطئة يتم تخزينها في متغير القاموس ، واستخدام القاموس لنتجنب تخزين نفس الخطأ مرة أخرى ، كما يتم تلوين الخلية التي بها جزء من الاسم خطأ ، كما يتم وضع كل الأسماء الخاطئة التي تم اكتشافها في العمود الثاني

استراتيجية العمل
بفرض أن لديك ورقة العمل فيها الأسماء باللغة العربية والأسماء تبدأ من الخلية A2 لذا نقوم بالإعلان عن متغير من النوع Range لتخزين النطاق ليشمل كل الأسماء في العمود الأول ابتداءً من الخلية A2 وحتى آخر صف به بيانات ، ثم تخزين قيم النطاق في مصفوفة ليكون العمل أسرع.

cMNT2_02

يتم إزالة الألوان من النطاق قبل بدء بقية الخطوات ، ثم استخدام المتغير dic لاستخدامه ككائن للقاموس (الهدف من استخدامه عدم تكرار تخزين الخطأ .. بمعنى آخر إذا كان هنا خطأ فأول مرة يتم تخزينه وبعد ذلك إذا حدث نفس الخطأ لا يتم تخزينه)
تحديد القاموس الذي نرغب في التعامل معه وهو قاموس اللغة العربية
CODE
Application.SpellingOptions.DictLang = 3073<br />

بعد ذلك نقوم بعمل حلقة تكرارية لكل اسم ويتم تقسيم الاسم وفحص كل جزء من أجزاء الاسم للتأكد من أنه صحيح لغوياً فإذا كان هناك خطأ يتم تخزين القيمة الخاطئة ، ويتم تلوين الخلية التي بها الخطأ.
وفي نهاية المطاف يتم وضع الأسماء الخاطئة في العمود الثاني.

وبعد تنفيذ الكود سيكون شكل النتائج بهذا الشكل

W3ird_03


إليكم الكود المستخدم لتنفيذ المهمة
CODE
Sub Extract_Invalid_Arabic_Names_Application_CheckSpelling()
    Dim a, x, rng As Range, dic As Object, f As Boolean, i As Long, j As Long
    Application.ScreenUpdating = False
        Set rng = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
        rng.Interior.Color = xlNone
        a = rng.Value
        Set dic = CreateObject("Scripting.Dictionary")
        dic.CompareMode = 1
        Application.SpellingOptions.DictLang = 3073
        For i = LBound(a) To UBound(a)
            f = False
            x = Split(a(i, 1))
            For j = LBound(x) To UBound(x)
                If x(j) <> "" Then
                    If Not Application.CheckSpelling(Word:=CStr(x(j))) Then
                        dic.Item(x(j)) = Empty: f = True
                    End If
                End If
            Next j
            If f Then Cells(i + 1, 1).Interior.Color = vbCyan
        Next i
        a = dic.Keys
        With Range("B1")
            .Value = "Invalid Names"
            .Offset(1).Resize(UBound(a, 1) + 1).Value = Application.Transpose(a)
        End With
    Application.ScreenUpdating = True
End Sub




تحميل الملف المرفق من هنا

كان معكم أخوكم في الله / ياسر خليل أبو البراء
 
 


أثارت هذه المشاركة إعجاب: hassona229، abdulwahed catran، ali mohamed ali، الصقر، مالك ماريه، السعيد الجزائري، مدحت حافظ، محمــد،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  09-10-2020 11:43 مساءً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 803
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 13-9-1980
قوة السمعة : 3951
الاعجاب : 23
ما شاء الله الله ينور يا استاذنا الغالي

أثارت هذه المشاركة إعجاب: YasserKhalil، تاج الدين،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  09-10-2020 11:47 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
بارك الله فيك أخي الحبيب حسونة ومشكور على مرورك العطر.

أثارت هذه المشاركة إعجاب: hassona229،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 12:57 صباحاً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 803
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 13-9-1980
قوة السمعة : 3951
الاعجاب : 23
بعد اذن الاستاذ الكبير
هذا الرابط مباشر للذي لديه نسخه اوفيس 2016 64bit
هنا

هذا الرابط مباشر للذي لديه نسخه اوفيس 2016 32bit
هنا

أثارت هذه المشاركة إعجاب: YasserKhalil، مدحت حافظ،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 01:57 صباحاً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
جزاك الله خيراً أخي الحبيب حسونة ومشكور على إثراء الموضوع بهذه الروابط المباشرة والتي تعمل بدون الحاجة للاتصال بالإنترنت.

أثارت هذه المشاركة إعجاب: hassona229، مدحت حافظ،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 10:32 صباحاً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2017
رقم العضوية : 1757
المشاركات : 1766
رصيد العضو : 1
الدولة : مصر
الجنس :
الدعوات : 2
قوة السمعة : 9687
الاعجاب : 26
أحسنت استاذ ياسر كلها أعمال ممتازة بارك الله فيك وجعله الله فى ميزان حسناتك ورحم الله والديك

أثارت هذه المشاركة إعجاب: YasserKhalil،


توقيع :ali mohamed ali


{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى حل أى مشكلة او أستفسار لديك مع إضافة رد بشكره
أو دعوة لمن قدم اليك المساعدة,فالجميع هنا يعمل على مساعدة
الاخرين لوجه الله وان تحتسب له اجر عند الله

look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 12:27 مساءً   [6]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-11-2017
رقم العضوية : 1785
المشاركات : 185
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 20-8-1989
قوة السمعة : 244
الاعجاب : 0
جزاك الله خيرا

أثارت هذه المشاركة إعجاب: YasserKhalil،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 12:35 مساءً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
أخي العزيز علي
أخي الكريم كروان
بارك الله فيكما ومشكور على مروركما بالموضوع.

أثارت هذه المشاركة إعجاب: ali mohamed ali، مدحت حافظ،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 03:27 مساءً   [8]
معلومات الكاتب ▼
تاريخ الإنضمام : 15-12-2017
رقم العضوية : 2523
المشاركات : 612
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 13-3-1990
قوة السمعة : 1166
الاعجاب : 4
ما شاء الله عمل رائع استاذ ياسر وجعله الله فى ميزان حسناتك ممكن استاذ ياسر عمود ثالث يضم كل الاسماء الاسماء الصحيحة والاسماء التى تم تصحيحها

أثارت هذه المشاركة إعجاب: YasserKhalil، مدحت حافظ،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 06:02 مساءً   [9]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
بارك الله فيك أخي العزيز وجيه ..
الكود لا يقوم بعملية التصحيح إنما يكتشف التصحيح أما بخصوص التصحيح فأفضل أن يكون بشكل يدوي أو بدالة معرفة يكون فيها مصفوفتين أحدهما بالأسماء الخاطئة والأخرى ما يقابلها بالأسماء الصحيحة وهذه ستكون شبه تصحيح يدوي.

أثارت هذه المشاركة إعجاب: مالك ماريه، مدحت حافظ،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 07:13 مساءً   [10]
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 16
المشاركات : 834
رصيد العضو : 0
الدولة : الاردن
الجنس :
تاريخ الميلاد : 9-9-1990
الدعوات : 2
قوة السمعة : 988
الاعجاب : 0
استاذ ياسر بارك الله في عمل رائع
ولكن لدي يظهر الكود مشكلة في هذا الجزء
CODE
&nbsp;Application.SpellingOptions.DictLang = 3073

أثارت هذه المشاركة إعجاب: YasserKhalil،



look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  10-10-2020 07:31 مساءً   [11]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
بارك الله فيك أخي الكريم خالد
لاحظ أنني في بداية الموضوع وضعت رابط لتنصيب حزمة اللغة العربية ، فالخطأ سببه أنك لم تقم بتنصيب الحزمة التي أخبرتك بها وأيضاً قم بضبط خيارات الإكسيل كما وضحت في الموضوع.




look/images/icons/i1.gif حصرياً استخراج الأسماء العربية الخاطئة Extract Invalid Arabic Names
  11-10-2020 06:33 صباحاً   [12]
معلومات الكاتب ▼
تاريخ الإنضمام : 15-12-2017
رقم العضوية : 2523
المشاركات : 612
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 13-3-1990
قوة السمعة : 1166
الاعجاب : 4
بعد اذنك ياسر ممكن تشرع فى عمل المصفوفتين أحدهما بالأسماء الخاطئة والأخرى ما يقابلها بالأسماء الصحيحة وجزاكم الله خير وجعله الله فى ميزان حسناتك

أثارت هذه المشاركة إعجاب: YasserKhalil، مدحت حافظ،



اضافة رد جديد اضافة موضوع جديد
الصفحة 2 من 2 < 1 2 >




المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
دالة معرفة لاستخراج اسم الأب من الأسماء المركبة YasserKhalil
8 736 تاج الدين

الكلمات الدلالية
الأسماء ، استخراج ، حصرياً ، العربية ، الخاطئة ، Extract ، Invalid ، Arabic ، Names ،









اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 02:24 AM