الأربعاء، 23 نوفمبر 2011

كيف اقوم بعمل برنامج لتعديل أرقام التليفون ?How do I modify the work program of telephone numbers

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

لذلك اليوم سنستعرض معاً كيفية إتمام هذه المهمة في أقل من 8 دقائق إن لم يكن أقل!!.





الخطوة الأولى : نقوم بتصدير الأرقام للإكسل، بالطبع هذه العملية تختلف من ماركة الى اخرى لذلك لابد لك من معرفة كيفية تصدير الأرقام المحمول الخاص بك الى شيت إكسل أو ملف نصي TXT أو ملف بإمتداد CSV

ملحوظة : لحاملي الجهاز Nokia يمكنكم إستخدام برنامج Nokia PC Suite

الخطوة الثانية : إضافة الكود التالي للشيت وذلك كالتالي

  1. نذهب لمحرر الأكواد VBE من خلال الإختصار Alt+F11
  2. من القائمة Insert نختار الأمر Module، بذلك سيتم إضافة وحدة نمطية جديدة وهي الموضع الذي سيتم إضافة الكود به (مرجع)
  3. نقوم بنسخ الكود التالي ونضعه في الوحدة النمطية Module (الخطوة السابقة)
  4. نستخدم الدالة UMN بحيث تكون القيمة التي سيتم إدخالها للدالة هي الخلية التي تشتمل على رقم المحمول
Function UMN(Mobile As String) As String


Dim Prefix As String, NPrefix As String, Suffix As String, Code As String

If Left(Mobile, 2) = "+2" Then
Code = "+2"
Mobile = Mid(Mobile, 3)
End If

Select Case Len(Mobile)
Case 10
Prefix = Left(Mobile, 3)
Case 11
Prefix = Left(Mobile, 4)
End Select

Select Case Prefix
Case "012": NPrefix = "0122"
Case "017": NPrefix = "0127"
Case "018": NPrefix = "0128"

Case "010": NPrefix = "0100"
Case "016": NPrefix = "0106"
Case "019": NPrefix = "0109"

Case "011": NPrefix = "0111"
Case "014": NPrefix = "0114"

Case "0150": NPrefix = "0120"
Case "0151": NPrefix = "0101"
Case "0152": NPrefix = "0112"
End Select

Suffix = Right(Mobile, 7)

UMN = Code & NPrefix & Suffix

End Function


الخطوة الثالثة : بعد الإنتهاء من تحويل الأرقام نقوم بحفظ الملف بصيغة مناسبة ( تتوقف على الخطوة الأولى، فإذا كانت عملية استيراد الأرقام من محمولك بالإمتداد CSV فعليك بحفظ الشيت بالإمتداد CSV)

ملحوظة : إذا كنت لا تريد إستخدام الأكواد فيمكنك إستخدام المعادلة التالية
=VLOOKUP(IF(LEN(A1)=10;LEFT(A1;3);LEFT(A1;4));{"012","0122";"017","0127";"018","0128";"0150","0120";"011","0111";"014","0114";"0152","0112";"010","0100";"016","0106";"019","0109";"0151","0101"};2;0)&RIGHT(A1;7)
على ان يكون رقم المحمول في الخلية A1

0 التعليقات: