View Full Version : بازکردن مسیر دلخواه برای انتخاب عکس روی فرم
iransim
جمعه 02 تیر 1402, 10:33 صبح
سلام دوستان
میدونم شاید سئوالم تکراری باشه ولی باور کنید دو سه روزه هر چی جستجو میکنم اون چیزی که مد نظر من باشه پیدا نکردم ، بهر حال ببخشید و مممنون میشم راهنمائی کنید .
من ی برنامه پرسنلی دارم طراحی میکنم که میخام ی گوشه از فرم اختصاص به نمایش عکس پرسنل باشه ، ی دکمه دارم که تصویر رو از پوشه PICPerson که تو مسیر و پوشه برنامه قراردادم فراخون میکنه
حالا میخوام وقتی دکمه اضافه کردن عکس رو میزنم فقط پوشه PICPerson که عکسها داخلش هست باز بشه و عکس رو برای اضافه کردن انتخاب کنم و نیاز به Browse کردن و جستجوی پوشه به صورت Explorer نباشه
در واقع میخام فقط این مسیر برام فراخوان بشه d:\InfoPerson\PicPerson
این نکته رو هم بگم که برای فراخوان و الحاق تصویر از کدهای زیر استفاده میکنم :
Dim obj As Object
Dim strFile As String
Dim strFolder As String
Dim varItem As Variant
Set obj = Application.FileDialog(3)
obj.AllowMultiSelect = True
If obj.Show Then
For Each varItem In obj.SelectedItems
strFile = Dir(varItem)
strFolder = Left(varItem, Len(varItem) - Len(strFile))
Me.Pic = strFolder + strFile
Next
End If
بازم ممنون از راهنمائی و لطف اساتید محترم
mazoolagh
شنبه 03 تیر 1402, 10:42 صبح
سلام و روز خوش
همیشه اول مستندات رو بخونین:
FileDialog.InitialFileName property (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.filedialog.initialfilename)
FileDialog.InitialView property (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.filedialog.initialview)
MsoFileDialogView enumeration (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.msofiledialogview)
کافی هست مقدار initialfilename و initialview رو تنظیم کنین.
iransim
یک شنبه 04 تیر 1402, 10:10 صبح
سلام و روز خوش
همیشه اول مستندات رو بخونین:
FileDialog.InitialFileName property (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.filedialog.initialfilename)
FileDialog.InitialView property (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.filedialog.initialview)
MsoFileDialogView enumeration (Office) (https://learn.microsoft.com/en-us/office/vba/api/office.msofiledialogview)
کافی هست مقدار initialfilename و initialview رو تنظیم کنین.
سلام و تشکر بابت پاسخ شما
امکانش هست بفرمائید پارامترهایی رو که معرفی کردید داخل کد مورد استفاده خودم کجا و چطور میشه استفاده کرد ؟
بازم ممنون
mazoolagh
یک شنبه 04 تیر 1402, 13:01 عصر
سلام دوباره
1- در همون لینک ها کد نمونه همراه با توضیح کامل در مورد این پراپرتی ها آمده - مشخصه که نگاه نکردین!
2- در انجمن ها همیشه کدها رو درون تگ مناسب (با توجه به نوع کد) قرار بدین - اینجا میشه تگ VB :
154751
iransim
یک شنبه 04 تیر 1402, 13:32 عصر
سلام دوباره
1- در همون لینک ها کد نمونه همراه با توضیح کامل در مورد این پراپرتی ها آمده - مشخصه که نگاه نکردین!
2- در انجمن ها همیشه کدها رو درون تگ مناسب (با توجه به نوع کد) قرار بدین - اینجا میشه تگ VB :
154751
سلام و درود : بازم تشکر
در مورد شماره 1 : خدائی نگاه کردم ولی حقیقتا هر چی با کد مورد استفاده خودم مقایسه کردم متوجه نشدم و سردرنیاوردم چون کد مورد استفاده خودم رو نیز از ی برنامه مشابه گرفته بودم بهرحال اگه بازم مثل همیشه لطف کنید ممنون میشم
در مورد شماره 2 : بله چشم و از راهنمائی و تذکر شما ممنونم
mazoolagh
سه شنبه 06 تیر 1402, 10:27 صبح
1- اول رفرنس به Office Object Library رو به برنامه اضافه میکنین:
154755
این کار رو به این خاطر میکنیم که کدنویسی راحت تر هست بخاطر فعال شدن intellisense روی ابجکتهای اون کتابخانه،
در کل early-binding باعث میشه خیلی از خطاها در زمان کامپایل مشخص بشه.
154756
2- کد شما چیزی شبیه این میشه:
Private Sub Btn_Select_Click()
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogOpen)
With fDialog
.title = "تصویر پرسنل را انتخاب کنید"
.InitialFileName = "d:\InfoPerson\PicPerson"
.InitialView = msoFileDialogViewTiles
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "image files", "*.gif; *.jpg; *.jpeg; *.png"
If .Show Then
Me.Image1.Picture = .SelectedItems(1)
End If
End With
End Sub
iransim
سه شنبه 06 تیر 1402, 11:34 صبح
1- اول رفرنس به Office Object Library رو به برنامه اضافه میکنین:
154755
این کار رو به این خاطر میکنیم که کدنویسی راحت تر هست بخاطر فعال شدن intellisense روی ابجکتهای اون کتابخانه،
در کل early-binding باعث میشه خیلی از خطاها در زمان کامپایل مشخص بشه.
154756
2- کد شما چیزی شبیه این میشه:
Private Sub Btn_Select_Click()
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogOpen)
With fDialog
.title = "تصویر پرسنل را انتخاب کنید"
.InitialFileName = "d:\InfoPerson\PicPerson"
.InitialView = msoFileDialogViewTiles
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "image files", "*.gif; *.jpg; *.jpeg; *.png"
If .Show Then
Me.Image1.Picture = .SelectedItems(1)
End If
End With
End Sub
سلام و سپاس مجدد
ضمن تشکر از کدهای ارسالی ، کدها به درستی کار کرد ، ولی هدف و مقصود اصلی من از طرح سئوال این بود که وقتی روی دکه انتخاب عکس کلیک میکنم پنجره انتخاب عکس به صورت مستقیم مسیر
"d:\InfoPerson\PicPerson" را برای انتخاب عکس باز کنه و سایر خصوصیات پنجره انتخاب عکس در مرحله بعدی قرار داشت کدهای مورد استفاده من و شما پنجره Explorer رو باز میکنه و کاربر مجددا باید مسیر درایو d و پوشه
InfoPerson و پوشه
PicPerson را جستجو کند
بازم ممنون
mazoolagh
سه شنبه 06 تیر 1402, 11:46 صبح
ادیتور فروم مشکل داره!
کدی که نوشتم و ارسال کردم این بوده:
154757
یک \ آخر مسیر هست که ادیتور اون رو پاک میکنه.
iransim
چهارشنبه 07 تیر 1402, 08:54 صبح
ادیتور فروم مشکل داره!
کدی که نوشتم و ارسال کردم این بوده:
154757
یک \ آخر مسیر هست که ادیتور اون رو پاک میکنه.
سلام مجدد استاد
ممنون و سپاس فراوان از لطف و پیگیری شما
مشکل حل شد و همونی شد که میخواستم
کمک زیادی کردید :تشویق::تشویق:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.