• DİKKAT

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

Dosya adını BrowseForFolder ile almak

tamer42

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

Aşağıdaki kodla; BrowseForFolder yöntemiyle istediğimiz klasör adını kolaylıkla seçebiliryoruz.

Kod:
Sub Test2()

Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasor seçin !", &H100)
If Not ObjFolder Is Nothing Then
MyPath = ObjFolder.Items.Item.Path
End If

MsgBox MyPath

End Sub

Bunun bir benzeri BrowseForFile var mıdır?
yani açılan pencereden seçtiğimiz dosyanın adını belirleyebilirmiyiz?

İyi Çalışmalar.
 
Kod:
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, "C:\Program Files")
    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
 
Sn Haluk İlginize teşekkürler..

Yalnız bu kodları çalıştırdığımda ekteki hata mesajını veriyor.

Bu hata neden kaynaklanabilir?

İyi Çalışmalar.
 
Sn Haluk İlginize teşekkürler..

Yalnız bu kodları çalıştırdığımda ekteki hata mesajını veriyor.

Bu hata neden kaynaklanabilir?

İyi Çalışmalar.

Haluk hocam teşekkürler.Çok güzel.
Yalnız ayni hatayı bende aldım.
Bir dosya seçince tamama basınca hata veriyor.
 
Kullanılan işletim sisteminden kaynaklanıyor olabilir.

Benim işletim sistemim Win2000 Prof.

.
 
Benim ki:
Win xp burada çalışmaz mI?
 
Merhaba,

Yöntem çok olabilir, bir örnekte ben vereyim.

Kod:
Sub DosyaAdiGetir()
On Error Resume Next
Dim i As Integer
'With Application.FileDialog(msoFileDialogFolderPicker) '---Dizin Gösterir
 With Application.FileDialog(msoFileDialogOpen)         '---Dosyaları Gösterir
    .AllowMultiSelect = False
    .Show
    i = Application.WorksheetFunction.Find("\", StrReverse(.SelectedItems(1)))
    If i = 0 Then Exit Sub
    MsgBox "Dosya Yolu : " & Left(.SelectedItems(1), Len(.SelectedItems(1)) - i + 1)
    MsgBox "Dosya : " & Right(.SelectedItems(1), i - 1)
    End With
End Sub
 
Geri
Üst