• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

gizlemek

  • Konbuyu başlatan Konbuyu başlatan ertan7
  • Başlangıç tarihi Başlangıç tarihi
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.
 
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...
 
[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]
 
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
 
Bende herhangibir hata vermiyor...

Win2000 / Office2000
 
merhaba,

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

WinXP / Office2003

İyi Çalışmalar...
 
Ã?zür dilerim,

Dosya eklemeyi sonunda becerdim.
 
Bir de bunu deneyin ....

(WinXP + Office2000 ile çalışıyor.)
 
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...
 
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
 
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...
 
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...
 
Geri
Üst