Klasör dizinini metin kutusuna yazdırmak ve hyperlink olarak açmak
#1
Öncelikle herkese hayırlı ramazanlar.

Hazırlamış olduğum formda aktif durumdaki veri girişi ile ilgili dataları serverda yada bilgisayarda bir klasör altına kaydediyorum. Buraya kadar herhangi bir sorun yok. Bu aşamada yapmak istediğim şey;

1; buton yardımı ile ilgili klasör dizine ulaştıktan sonra bu dizin yolunu bir metin kutusuna kaydetmek.
2. Bu metin kutusunda bu klasör dizininin hyperlink olarak görünmesi,
3. Klasör yolu kaydedildikten sonra tek tıklama ile ilgili klasörün açılması,
4. Eğer metin kutusuna herhangi bir klasör dizini kaydedilmemiş ise varsayılan değerin "No" olarak görünmesi.

Bunları daha önce Taruz hocamızın vermiş olduğu bir örnekten yola çıkarak uygulamaya çalıştım fakat başarılı olamadım. Sanırım Set trz application durumunda içinden çıkamadığım bir durum var. Bu konuda bana yardımcı olabilir misiniz? Gg

[Dim gzt As FileDialog
Dim DosyaAdi As String
Set trz = Application.FileDialog(msoFileDialogFilePicker)
With trz
.ButtonName = "Dosya Seç"
.InitialFileName = Environ("samliu-PC") & "C:\Users\samliu\Desktop\Raymould\Photos"
.InitialView = msoFileDialogViewThumbnail
.Title = "Dosya Seç..."
If .Show = True Then
For Each SeciliNesne In .SelectedItems
DosyaAdi = SeciliNesne
Next SeciliNesne
Me.Tool_2D = DosyaAdi

End If
End With]



  Alıntı
Bu mesajı beğenenler:
#2
Sayin ÜmitSamlı;

1. REFERANS *****Microsoft Office 15.0 Object Library. **** Isaretli olmali.
2. Formda Buton tiklandigi olay yordamina asagidaki 1. kodu tasiyiniz.
3. Formda DosyaListesi adinda liste kutusu olusturun.
Visual Basic
  1. Private Sub Buton_Click()
  2. Dim Pencere As Office.FileDialog
  3. Dim Yerlesim As Variant
  4. Me.DosyaListesi.RowSource = ""
  5. Set Pencere = Application.FileDialog(msoFileDialogFolderPicker)
  6. With Pencere
  7. .AllowMultiSelect = True
  8. .Title = "Bir veya daha fazla KLASOR seçin."
  9. If .Show = True Then
  10. For Each Yerlesim In .SelectedItems
  11. Me.DosyaListesi.AddItem Yerlesim
  12. Next
  13. Else
  14. Me.DosyaListesi.AddItem "No"
  15. End If
  16. End With
  17. End Sub


4. DosyaListesi liste tiklama olayina asagidaki 2. kodu tasiyin.
Visual Basic
  1. Private Sub DosyaListesi_Click()
  2. On Error GoTo HataCik
  3. Application.FollowHyperlink Me.DosyaListesi
  4. Exit Sub
  5. HataCik:
  6. Me.DosyaListesi = ""
  7. End Sub


5. Formu calistirip, Buton tusu ile Klasor penceresinden sectiginiz dosyalari, DosyaListesi kutucugunu tiklayip calistirabilirsiniz.

Onceki kodunuz referans isaretli olmadigindan calismamis olabilir.

Ornegi kendi projelerinize uygulayabilirsiniz.
.rar   KlasorAcma_dsezgin.rar (Boyut: 21,47 KB / İndirilme: 123)

Kolay gelsin.....



  Alıntı
Bu mesajı beğenenler:
#3
Sayın dsezgin83260,

Emeğiniz için teşekkürler. Söylediklerinizi harfiyen uygulamaya çalıştım. Fakat ekli dosyadaki hata ile karşılaşıyorum. Ayrıca bir yanlışlık olmaması açısından tekrar belirtmek istiyorum. Ben klasörün içindeki bir dosyayı değil klasörün yolunu dosyalistesine kaydetmek ve direk olarak klasörü açmak istiyorum.

Saygılar,
Ümit ŞAMLI



  Alıntı
Bu mesajı beğenenler:
#4
Bir önceki mesajda koyduğum ekte hatanın nerede olduğu görünmüyor. Bu ekli resmi inceleyebilirsiniz.



  Alıntı
Bu mesajı beğenenler:
#5
(05-08-2013, 15:40)ÜmitSamlı demiş ki: Bir önceki mesajda koyduğum ekte hatanın nerede olduğu görünmüyor. Bu ekli resmi inceleyebilirsiniz.

RowSource acilan kutu kaynagi anlamina gelmekte. Sizin formdaki kutunuzun tipi Metin oldugundan kod hata vermekte. Bir onceki mesaja ornek VT ekledim. Inceleyip kendi projenize aktarabilirsiniz. Projenizin vba daki object referansinin isaretli olmasi gerekmekte !

Bir onceki hata resmi ise,referansi isartledikten sunra vba complite etmeliydiniz (vba, Debug-Compile Database). Kendi projenize kodu aktarma isleminde Tool2D tiklama olay yordamina tasimis ama kodun icindeki Dosyalistesi.RowSource olan satirlari Tool2D olarak degistirmelisiniz.

Kolay gelsin......



  Alıntı
Bu mesajı beğenenler:
#6
Haklıymışsın üstadım. dediklerini uyguladıktan sonra herhangi bir hata vermedi. Ama sanırım ben yanlış terimler kullandığım için sıkıntımı anlatamadım.

Benim rowsource a kaydederek daha sonra tıklayarak açmak istediğim klasör dizini.

Yani istiyorumki komut butonuna tıkladığımda ilgili kalsör dizini seçip açılan kutuya aşağıdaki gibi kopyalamak. sonrasında açılan kutu üzerine tıkladığımda ilgili klasörün açılması ve altında yer alan *.jpg, *.png, *.xls, vb. gibi birbirinden farklı uzantıdaki dosyaları görebilmek.
C:\Users\samliu\Desktop\Raymould

sizin vermiş olduğunuz örnek aşağıdaki dizini açılan kutuya kopyalıyor.
C:\Users\samliu\Desktop\Raymould\photo.png

emeğiniz için teşekkürler tekrar. Yazmış olduğunuz kodları anlatmak istediğim şekilde uygulayabilir miyiz?



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Onay Kutususun şarta Bağlı Olarak Otomatik Olarak Işaretlenmesi Samih KARSLI 2 164 06-04-2024, 18:49
Son Mesaj: Samih KARSLI
  Acceste Liste Kutusundan Seçilen Veriyi Metin Kutusuna Gönderme Pasham 24 358 04-04-2024, 01:18
Son Mesaj: halily
  [FORM] Alt Forum Dan Tıklandıgında Yenı Form Acmak sevincili 2 115 29-03-2024, 15:54
Son Mesaj: sevincili
  Tablodaki Verileri Yan Yana Yazdırmak 10pele 11 148 09-03-2024, 02:52
Son Mesaj: dsezgin
  [FORM] Inputbox Kutusuna Girilen Değere Pasword Maske Uygulama orderyazbim 2 149 22-01-2024, 22:12
Son Mesaj: orderyazbim
  [FORM] form klasör içinde dosya kontrolü obaysal42 4 2.188 29-12-2023, 10:24
Son Mesaj: burhanb
  Tablodaki Verileri Yan Yana Yazdırmak atyaty 4 334 11-12-2023, 12:57
Son Mesaj: atyaty
  Virgülle Ayrılmış Verilerin Her Bir Değerini Yeni Kayıt Olarak Ekleme adnnfrm 5 181 28-11-2023, 01:37
Son Mesaj: dsezgin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi