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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته 
اعضاء اوفيسنا الكرام 
اريد مساعدة 
لدي عدد كبير جدا من المخاطبات على هيئة ملفات وورد وفي كل ملف يوجد رقم هاتف مكون من 8 ارقام 
اريد استخراج رقم الهاتف فقط من تلك الملفات وحفظهم في جدول 
حيث ان العملية اذا تمت بطريقة يدوية ستكون مرهقة جدا وتأخذ وقت كبير جدا جدا 

قام بنشر

اذا كانت ملفات وورد متشابهة في التصميم ، وضمن جدول موحد في الكل ، ضع نسخة واحدة هنا لعل الاخوة هنا يجدوا لك حلا وطريقة

ولا تنسى توضح ما تريد استخراجه ايضا غير الارقام

تم تعديل العنوان

قام بنشر

اليك محاولتي باستخدام أكواد أستاذ جعفر واستاذ موسي استخرجت الارقام أما حفظهم بالجدول ( لم أقدر أقاوم النعاس سامحني) والى الغد انشاء الله .

اليك المرفق .:fff:

DD120.accdb

  • Like 1
قام بنشر (معدل)

@ ابوخليل في البداية اشكرك على الرد 
وبالنسبة للملفات فهي عبارة عن مخاطبات ومن ضمن تلك المخاطبات يوجد مقدم الطلب في اسفل كل خطاب ومكتوب اسمه ورقمه المدني او القومي ورقم الهاتف 
بالنسبة للتنسيق للاسف ليست منسقة مثل بعضها 

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

وهذا مثال ======image.png.8890cec304deda823cae08a9c61655e3.png

kkhalifa1960

اشكرك أخي الفاضل ولكن لم يضبط الكود 

تم تعديل بواسطه ناصر محمد المكي
قام بنشر

استقبال بيانات من مستند وورد ممكن ولكنه يجلب الصفحة كاملة

وهذا الأمر ينطبق ايضا على الارسال .

ولتحديد جلب او ارسال نص معين او كلمة محددة يجب توفر اشارات مرجعية ( حقول معلومة ضمن صفحة وورد )  لهذا سألتك اذا كانت ملفات وورد متشابهة في التصميم وضمن جدول

وهذه الاشارات يتم عملها يدويا بواسطة المبرمج ، وهنا اصبحت المسألة اكثر تعقيدا وصعوبة من طلبك

سوف اطلع الى حل الاستاذ خليفة لأستفيد منه

 

قام بنشر

السلام عليكم 🙂 

طبعا استعنت بالذكاء الصناعي لكتابة هذا الكود لك أخي ناصر 🙂 

ولكي يتم تنفيذه بشكل جيد يجب أن تتحقق عدة شروط :

- أن تكون هناك صياغة معينة لأرقام الهواتف في ملفات الوورد مثل : ###-####(###)  مثلا .. وذلك لتخبر الكود عن ماذا يبحث بالضبط .

- أن تحدد المكان الذي ستحفظ فيه الأرقام بعد استجلابها .. وكيف ستنسب كل رقم إلى صاحبه ؟

 

أنا أخبرته هنا أن يفتح مجموعة ملفات الوورد الموضوعة في مسار معين الواحد تلو الآخر ويبحث فيها عن أرقام الهواتف ثم ينسخها ويلصقها في جدول "Telephone_Tbl" وتحديدا في الحقل "TelephoneNumber" .. بدون تخصيصه لاسم معين ..

وهذا هو الكود نقلته بدون تعديل .. وذلك للتجربته فعليا عندك وإخبارنا بالنتائج .. أو أعطنا عينة من الملفات التي عندك وقاعدة بياناتك لنجرب عليها 🙂 

Sub ImportTelephoneNumbers()
    ' Define variables
    Dim objWord As New Word.Application
    Dim objDoc As Word.Document
    Dim objRange As Word.Range
    Dim objFolder As String
    Dim objFile As String
    Dim objTelephoneNumber As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    ' Set the folder path where the Word documents are stored
    objFolder = "C:\Path\To\Word\Documents"
    
    ' Open the Access database and recordset
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Telephone_Tbl")
    
    ' Loop through all files in the folder
    objFile = Dir(objFolder & "\*.docx")
    Do While objFile <> ""
        ' Open the Word document
        Set objDoc = objWord.Documents.Open(objFolder & "\" & objFile)
        
        ' Loop through the document and find all telephone numbers
        For Each objRange In objDoc.StoryRanges
            objRange.Find.Execute FindText:="(###) ###-####", MatchWildcards:=True
            Do While objRange.Find.Found
                objTelephoneNumber = objRange.Text
                objTelephoneNumber = Replace(objTelephoneNumber, "(", "")
                objTelephoneNumber = Replace(objTelephoneNumber, ")", "")
                objTelephoneNumber = Replace(objTelephoneNumber, " ", "")
                objTelephoneNumber = Replace(objTelephoneNumber, "-", "")
                rs.AddNew
                rs("TelephoneNumber").Value = objTelephoneNumber
                rs.Update
                objRange.Find.Execute
            Loop
        Next objRange
        
        ' Close the Word document
        objDoc.Close False
        
        ' Get the next file in the folder
        objFile = Dir()
    Loop
    
    ' Clean up and close objects
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    objWord.Quit
    Set objWord = Nothing
End Sub

 

  • Like 1
  • Thanks 1
قام بنشر

@Moosak

جزاك الله خير اخوي الغالي 
يا حبذا لو تتفضل علي بعمل الخطوات في ملف اكسيس وترسله لي اكون لك من الشاكرين 
وتخبرني اين اضع مسار الملفات المراد استخراج منها رقم الهاتف 
وبالنسبة لطلب معاليك  عن عينة من تلك الملفات فانا رفعت نموذج عن المخاطبات المراد استخراج منها الملفات ونظرا لكبر حجم تلك الملفات التي تفوق 2 تيرا بيت 

قام بنشر
منذ ساعه, ناصر محمد المكي said:

وبالنسبة لطلب معاليك  عن عينة من تلك الملفات فانا رفعت نموذج عن المخاطبات المراد استخراج منها 

يقصد بالعينة رفع احد ملفات وورد هنا ... حتى لو البيانات وهمية

المهم يطلع على رقم الهاتف وصيغته 

قام بنشر

سبحان الله هل 99999999 يمثل رقم هاتف ؟؟

من يقوم بالمساعدة يصاب بالاحباط اذا صاحب الحاجة اقل حرصا في طرح البيانات الدقيقة

الصيغة المطلوبة : كل هاتف يبدأ برقم الدولة او رقم الدولة ورقم المدينة او صيغة خاصة تميزه عن بقية الارقام

ايضا رقم الهوية له صيغة خاصة 

على هذا الحال لو تم جلب الارقام من وورد سوف يجلب اي رقم موجود ومن ضمنها التاريخ ان وجد

  • Haha 1
قام بنشر

هههههه

الاستفسار بطريقة اخرى لعل الله يهديك وتفصح عن اسرار الدولة

ما الميزة التي تتميز بها ارقام الهواتف التي لديك عن غيرها من الارقام .. بشرط ان تشترك كلها بنفس الصفة

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