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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته

أريد كود يبحث عن ملف معين في جهاز الكمبيوتر دون تحديد أي من الأقراص " C أو D" أكتب اسم الملف في الكود وعند الضغط على زر أمر ينفذ الكود عملية البحث ويظهر رسالة في النهاية بالعثور على الملف من عدمه0

للأسف لم أتوصل لذلك الكود ولكن توصلت لكود يبحث في القرص المحدد وهو التالي:

Dim dmar As Variant
Set fs = Application.FileSearch
With fs
    .NewSearch
    .LookIn = "C:\"
    .FileName = "Eidd*.*"
     .SearchSubFolders = True
    If .Execute > 0 Then

        MsgBox "There were " & .FoundFiles.Count & _
            " file(s) found."
        For I = 1 To .FoundFiles.Count
            List2.AddItem .FoundFiles(I)
        Next I
    Else
        MsgBox "There were no files found."
    End If
End With

وعند استبدال المحرك C بأسم " جهاز الكمبيوتر أو MyComputer" لم يتم العثور على الملف.

أريد استبدال المحرك C بجهاز الكمبيوتر ويقوم الكود بالبحث في جهاز الكمبيوتر عن أي مجلد أو ملف أو برنامج يذكر في الكود بأي أمتداد.

الرجاء ممن لديه الحل أن يسعفني به فقد تعبت في البحث دون نتيجة.

شكراً للجميع سلفاً.

  • Thanks 1
قام بنشر

مرحباً أستاذي مصلح

عند طلب البحث في الويندوز ملينيوم (بحث عام) فإنه يعطيني هذه العبارة التي تجمع محرك © مع محرك (D) هكذا

(C:;D:)

ربما تفيدك في الكود أعلاه بعد التعديل عليه طبعاً .. علماً بأني لم أجربها أبداً ولكن مجرد فكرة فقط .

"C:;D:\"

ولك تحياتي

قام بنشر

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

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

اخوي مصلح

السلام عليكم

غالي انت علينا لكن ما باليد حيلة لان سؤالك للمحترفين

لكن هل فكرت في حل مؤقت وهو البحث عن كود يتعرف على أقراص الجهاز وأسمائها ثم البحث فيها

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

Sub ShowDriveList()
    Dim fs, d, dc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set dc = fs.Drives
    For Each d In dc
        s = s & d.DriveLetter & vbCrLf
    Next
    MsgBox s
End Sub

تم تعديل بواسطه osama457
قام بنشر
ولم يرد إلا الأخ فهد حتى هو ضاع لا أدري ما السبب

أخي مصلح أنا ضعت في المحاولات المستمرة لكي أجد الحل لطلبك ولكن للأسف فكما قال أخي أسامه أن سؤالك للمحترفين وأنا لست منهم كما تعلم .

وأرفق لك ما توصلت إليه .. أعرف أني لم أصل لما تريد أنت ولكني أقول ربما تجد في المشاركة شيئ من الأمل ولا زلت أنا مستمر في المحاولة لعلي أن اتوصل للحل إن شاء الله .

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

علماً بأن الكود الذي في البرنامج أعتقد أنه من صنع الأخ مبتدئ جداً .

تحياتي

Fahad.rar

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

الأخ فهد

محاولة ممتازة جداً ينقصه التالي :

1. يتم البحث في Drive C فقط

2. يبحث عن الملفات ولا يبحث عن المجلدات فقد كتب اسم مجلد وظهرت لي رسالة بأنه غير موجود في الجهاز مع تأكدي من ذلكك.

توصلت للتالي :

كود يبحث في الــدرايفات ( الأقراص ) المحددة في الكود فقط وقد يحتمل تغيير مسميات الأقراص.

البحث عن ملف ولم استطع البحث عن مجلد .

حسب الكود التالي :

Set fs = Application.FileSearch
With fs
    .newsearch
    .LookIn = (" C:\;D:\;E:\;G:\;H:\")
    .FileName = "*" & [Txtchr] & "*"
     .SearchSubFolders = True

    If .Execute > 0 Then

        MsgBox "تم العثور على عدد " & .FoundFiles.Count & _
            " ملف/ ملفات"
        For i = 1 To .FoundFiles.Count
            List2.AddItem .FoundFiles(i)
        Next i
    Else
        MsgBox "لم يتم العثور على ما تبحث عنه", vbMsgBoxRight + vbInformation, ""
    End If
End With

تظهر الملفات في قائمة اسمها List2 على نموذج. ولكنني أريد نتائج أفضل من هذا

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

الأخ ابو ريان

ألف شكر لك تعبتك يا رجل .

المثال ممتاز جداً ولكن لم أجد فيه بغيتي حيث أنه يعتمد على قاعدة بيانات في تخزين المسارات . كذلك لم يبحث عن المجلدات فقد كتبت في مربع البحث Program Files وظهرت النتيجة صفر والسبب انه لا يبحث عن المجلدات .

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

أكرر شكري لك وأعتذر لك أتعبتك معي.

ألف ألف شكر

  • 4 weeks later...
قام بنشر

بعد اذن أخي أبو هادي

فقد شدني الموضوع

هذا مثال مبني علي كود من موقع أجنبي للفيجوال بيزيك دوت نت

المصدر

http://vbnet.mvps.org/index.html?code/file...recursesave.htm

و قد عدلت الكود ليتناسب مع الاكسيس فى المثال المرفق

أرجو أن يكون هو المطلوب

و المثال يقوم بالبحث عن كل الملفات التي لها الاسم المحدد فى الكومبو

ثم يحصيها و يكتب عددها و يسجلها فى ملف نص باسم

officena.txt

فى المسار الافتراضي

c:\mydocuments

مثلا

و البحث يتم فى كل الجهاز باستخدام عدة دوال يمكن تكوير التعامل معها كما تحب

Search_all.rar

قام بنشر

شكراً للجميع

لقد عودتمونا أفضل الردود والمشاركات وستبقون محبين للخير بإذن الله

الإخ / ابو هادي

خذ وقتك فلست مستعجل ولكنني محتاج لهذا الموضوع أتمنا لك التوفيق

الأخ/ محمد

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

بالنسبة لمثالك الله يعطيك العافية ما قصرت ولكن الكود يبحث عن ملف وليس مجلد وقد كتبت اسم مجلد لدي في الجهاز وظهرت لي رسالة وكان الخطأ في السطر

   ReDim Preserve sAllFiles(1 To nCount)

ما أريدته هو على النحو التالي :

لدي مجلد باسم Muslh

يحتوي على ملفات بداخله.

أريد كود وأسجل في الكود المجلد المسمى Muslh أو ملف داخل المجلد وعندالضغط على زر اسميته " التأكد من تكامل البرنامج " يتم البحث عن ذلك المجلد أو الملف للتأكد عما إذا كان موجود أم لاء.

أكرر الشكر لكل من شارك في هذا الموضوع ولا زلت أنتظر لعل الحل يصلني قريباً هنا.

قام بنشر

السلام عليكم

هذه محاولة ليست بنموذجية ولكن تؤدي الغرض .

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

لو توفر الوقت لدي سأقوم بدراسة الموضوع على أصوله .

تحياتي .

FindFolders.zip

  • 7 months later...
  • 4 months later...
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information