PDA

View Full Version : تابع جهت عملیات کپی فایل ها و ایجاد پوشه ها



smderfan
یک شنبه 01 اردیبهشت 1387, 16:55 عصر
سلام
نیاز به یک تابع دارم که بتونه یک عملیات کپی رو ساپورت کنه به این صورت که :
1- ابتدا یک مسیر رو از کاربر درخواست کنه.
2- یک مسیر مقصد از کاربر درخواست کنه.
3- تابع تمام زیر مجموعه مسیر انتخابی رو آنالیز کنه یعنی با توجه به خواست کاربر یک عملیات کپی رو صادر کنه که اولاً تمام زیر پوشه های مسیر انتخابی در مسیر مقصد ایجاد بشه. ثانیاً اون فایلی که کاربر درخواست می کنه دقیقاً در همون پوشه ها در مسیر مقصد کپی بشه.
برای اینکه بهتر متوجه بشید یک مثال می زنم.
1- فرض بر این می گیریم که کاربر مسیر مبدا رو c:\windows انتخاب کرده باشه
2- مسیر مقصد درایو D باشه.
3- فایل های مورد کپی txt.* باشه.
4- کاربر وقتی بر روی باتام کپی کلیک کرد در درایو D پوشه windows به همراه کلیه زیر پوشه های اون ساخته بشه و فایل های درخواستی یعنی txt.* در اون پوشه ها و زیر پوشه های موجود قرار بگیره
قبلا از راهنمایی شما سپاسگزارم.

davood-ahmadi
یک شنبه 01 اردیبهشت 1387, 22:56 عصر
برای محل مبدا و محل مقصد می توانید از یک متغیر از نوع FileDialog استفاده کنید ولی مرحله آخر که فرمودید خودش یک مرحله مهمی است که کمی سخته ولی یکبار این کار را کردم ولی اون برنامه را هرچه گشتم پیداش نکردم. ولی یادم اومد که از تابع FileSearch استفاده کردم.

smderfan
دوشنبه 02 اردیبهشت 1387, 08:18 صبح
سلام و با تشکر
موارد 1 و 2 رو مشکلی ندارم حل شد فقط موارد 3 و 4 مشکل هست.
از نمونه رو پیدا کردی حتما بذار .... با سپاس

davood-ahmadi
سه شنبه 03 اردیبهشت 1387, 00:35 صبح
فکر کنم همین جواب کارت را میده.


With Application.FileSearch
.LookIn = "C:\Windows"
.SearchSubFolders = True
.FileName = "File.txt"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
MsgBox "Result : " & .FoundFiles.Count
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "No Exist"
End If
End With

smderfan
سه شنبه 03 اردیبهشت 1387, 09:47 صبح
سلام
با تشکر
خوب این که فقط یک جستجوی ساده هست.
درسته که ساب فولدرها رو هم جستجو می کنه اما به چه صورت در مسیر مقصد درست همون فولدر رو ایجاد و موارد جستجو رو در اون کپی کنه.

davood-ahmadi
سه شنبه 03 اردیبهشت 1387, 10:31 صبح
شما به جای پیغام ها می توانید موارد های خود را با شرط و دستور کپی به انجام برسانید.

smderfan
چهارشنبه 04 اردیبهشت 1387, 08:19 صبح
سلام
خسته نباشید
خوب از کجا تشخیص بدم که داخل کدوم زیر پوشه هست.