gizlemek

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Klasörü değil Klasör içindekilerini seçebilmek için yukarıda verdiğiniz kodlarda neyi değiştirmek gerekir.
Folder ın seçilebildiği ekrandan bahsetmiştim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,325
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Orjinal ilk mesajın bütünlüğünü korumak adına, bahsettiğiniz konuyu uygun yeni bir başlıkla forumda sorarsanız, forumun işleyişi için daha iyi olacağını düşünüyorum...
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
anlatamadım bari resimlerini ekliyim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,325
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
[vb:1:5b9ee7c3b1]Sub Test()
Dim ObjFolder As Object
Dim MyPath As String, MyFile As String
Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder _
(0, "Klasör seçin...", &H4000, vbNullString)
If Not TypeName(ObjFolder) = "Nothing" Then
MyPath = ObjFolder.Items.Item.Path
MyFile = ObjFolder.Items.Item.Name
End If
Set ObjFolder = Nothing
MsgBox "Dosya / Klasör yolu: " & MyPath & vbCrLf & vbCrLf & _
"Dosya / Klasör adı : " & MyFile
End Sub
[/vb:1:5b9ee7c3b1]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Aşağıdaki kodda;

MyFile olarak klasör değilde, bir dosya (Word, Excel, Text, v.b.) seçtiğimizde hata veriyor.

MyFile olarak bir dosya seçimi yapılabilirmi? Eğer yapılabilirse nasıl bir düzenleme yapmak gerekir.

Yardımlarınız için içten Teşekkürler....

Kolay gelsin.

Sub Test()
Dim ObjFolder As Object
Dim MyPath As String, MyFile As String
Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder _
(0, "Klasör seçin...", &H4000, vbNullString)

If Not TypeName(ObjFolder) = "Nothing" Then
MyPath = ObjFolder.Items.Item.Path
MyFile = ObjFolder.Items.Item.Name
End If
Set ObjFolder = Nothing
MsgBox "Dosya / Klasör yolu: " & MyPath & vbCrLf & vbCrLf & _
"Dosya / Klasör adı : " & MyFile
End Sub
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,325
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bende herhangibir hata vermiyor...

Win2000 / Office2000
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
merhaba,

Dosya seçildiğinde ekli dosyadaki mesajı veriyor, klasörlerde sorun yok.

WinXP / Office2003

İyi Çalışmalar...
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
Ã?zür dilerim,

Dosya eklemeyi sonunda becerdim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,325
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bir de bunu deneyin ....

(WinXP + Office2000 ile çalışıyor.)
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Haluk Teşekkürler,

Gayet güzel çalışıyor, aynı kod üzerinede ilgili dosyanın bulunduğu klasörü: yani bir önceki Koda göre "MyPath = ObjFolder.Items.Item.Path" nasıl bulabiliriz.

İyi Çalışmalar...
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,325
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Gonderdiğim son dosyanın içindeki GozAt prosedurunu, aşağıdaki ile değiştirin...

Kod:
Sub GozAt()
    Dim MyFile As String, MyPath As String, Temp As String
    Temp = KlasorDosyaSec(Sonuc)
    If Not Dir(Temp) = Empty Then
        MyFile = Dir(Temp)
        MyPath = WorksheetFunction.Substitute(Temp, MyFile, vbNullString)
    Else
        MyFile = "Secilen bir dosya yok"
        MyPath = Temp
    End If
    MsgBox "Dosya:" & vbCrLf & vbCrLf & MyFile
    MsgBox "Dosya yolu:" & vbCrLf & vbCrLf & MyPath
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Haluk Bey,

İlginiz için çok teşekkür ederim.

Benim aklım hala önceki kodlarda kaldı, neden çalışmamış olabilir. Acaba VBA Tools>>>>References...>>> den bir Kütüphane eklenmesimi yapmak gerekiyor.

İyi Çalışmalar dilerim...
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,974
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Aşağıdaki kodda
MyFile = "Secilen bir dosya yok"
noktasında küçük bir istisna ile karşılaştım, bunu sizlerle paylaşmak istedim.

Eğer direkt Sürücüler (MyPath= C:\ , D:\ , E:\ , F:\ ) altında işlem yaparken bir dosya seçmezsek;
MyFile = "Secilen bir dosya yok"
tepkisinin verilmesi beklenirken, ilgili sürücü altındaki ilk dosyayı MyFile olarak kabul ediyor. Eğer sürücünün direkt altında hiç dosya yoksa, bu sefer "Secilen bir dosya yok" diyor.

Bir dosyanın seçilmediği her koşulda "Secilen bir dosya yok" mesajını nasıl alabiliriz.


Temp = KlasorDosyaSec(Sonuc)
If Not Dir(Temp) = Empty Then
MyFile = Dir(Temp)
MyPath = WorksheetFunction.Substitute(Temp, MyFile, vbNullString)
Else
MyFile = "Secilen bir dosya yok"
MyPath = Temp
End If
MsgBox "Dosya:" & vbCrLf & vbCrLf & MyFile
MsgBox "Dosya yolu:" & vbCrLf & vbCrLf & MyPath
End Sub
Tüm arkadaşlara iyi çalışmalar dilerim...
 
Üst