• DİKKAT

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

File Dialog' da Dosya Full Name yerine File Name alma

tamer42

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

Excel de "File Dialog" yolu ile bir dosya seçerek liste kutusuna ekleme yapabiliyoruz, benim burada istediğim "Full Name" yerine sadece "File Name" (Dosya adı) eklemek istiyorum. özetle Dosya yolunu atmak istiyorum

buradaki FileName = fd.SelectedItems(1) kodu üzerinde nasıl bir düzenleme yapmak gerekir?

Kod:
Dim fd As FileDialog
Dim FileName As String
Set fd = Application.FileDialog(msoFileDialogOpen)
fd.InitialFileName = ThisWorkbook.Path
Dim FileChosen As Integer
FileChosen = fd.Show
fd.Title = "Dosya Penceresi"

fd.InitialView = msoFileDialogViewList

fd.Filters.Clear
fd.Filters.Add "Excel Dosyaları", "*.xlsx"

fd.FilterIndex = 1
fd.ButtonName = "Dosyayı Aç"
If FileChosen <> -1 Then
Else

FileName = fd.SelectedItems(1)

ListBox2.AddItem FileName
 

Ekli dosyalar

  • 1588446743605.png
    1588446743605.png
    193 KB · Görüntüleme: 10
Dir komutunu dene
Kod:
MsgBox Dir(fd.SelectedItems(1))
 
pek anlamadım ama kırmızı bölüm gibidir herhalde

Rich (BB code):
Private Sub CommandButton2_Click()

Dim objDialog, Msg
Set objDialog = CreateObject("MSComDlg.CommonDialog")
'objDialog.Flags = 4
objDialog.Filter = "Excel Dosyaları (.xlsx)|*.xlsx"
objDialog.FilterIndex = 1
objDialog.InitDir = ThisWorkbook.Path
objDialog.ShowOpen
If Len(objDialog.FileName) <> 0 Then
MsgBox Dir(objDialog.FileName)
Else
Msg = "Dosya seçmediniz."
MsgBox Msg, vbInformation + vbCritical
End If
Set objDialog = Nothing

End Sub
 
pek anlamadım ama kırmızı bölüm gibidir herhalde

Rich (BB code):
Private Sub CommandButton2_Click()

Dim objDialog, Msg
Set objDialog = CreateObject("MSComDlg.CommonDialog")
'objDialog.Flags = 4
objDialog.Filter = "Excel Dosyaları (.xlsx)|*.xlsx"
objDialog.FilterIndex = 1
objDialog.InitDir = ThisWorkbook.Path
objDialog.ShowOpen
If Len(objDialog.FileName) <> 0 Then
MsgBox Dir(objDialog.FileName)
Else
Msg = "Dosya seçmediniz."
MsgBox Msg, vbInformation + vbCritical
End If
Set objDialog = Nothing

End Sub

Halit Hocam

fd.SelectedItems(1) satırından sonrası için sormuştum.
pek anlamadım ama kırmızı bölüm gibidir herhalde

Rich (BB code):
Private Sub CommandButton2_Click()

Dim objDialog, Msg
Set objDialog = CreateObject("MSComDlg.CommonDialog")
'objDialog.Flags = 4
objDialog.Filter = "Excel Dosyaları (.xlsx)|*.xlsx"
objDialog.FilterIndex = 1
objDialog.InitDir = ThisWorkbook.Path
objDialog.ShowOpen
If Len(objDialog.FileName) <> 0 Then
MsgBox Dir(objDialog.FileName)
Else
Msg = "Dosya seçmediniz."
MsgBox Msg, vbInformation + vbCritical
End If
Set objDialog = Nothing

End Sub

halit Hocam selamlar,

Dir(fd.SelectedItems(1))
ile dosyanın adını alırken, burada dosya yolunu atıyoruz, bu dosyanın yolunu bulmak istemiştim

aşağıdaki gibi bir çözüm ürettim ama;


Kod:
FName = Dir(fd.SelectedItems(1))

l = Len(FName)
PathName = Left(fd.SelectedItems(1), l - 1)
 
Klasör yolu
Kod:
Private Sub CommandButton1_Click()

Set folder = Application.FileDialog(msoFileDialogFolderPicker)

With folder
.Title = "Klasör Açma Penceresi"
.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = False
If .Show <> -1 Then GoTo 1
MsgBox .SelectedItems(1)
1
End With

End Sub
 
Bunu bir dene

Rich (BB code):
Private Sub CommandButton1_Click()
Dim fd As FileDialog
Dim FileName As String
Set fd = Application.FileDialog(msoFileDialogOpen)
fd.InitialFileName = ThisWorkbook.Path
Dim FileChosen As Integer
FileChosen = fd.Show
fd.Title = "Dosya Penceresi"

fd.InitialView = msoFileDialogViewList
fd.InitialFileName = ThisWorkbook.Path
fd.Filters.Clear
fd.Filters.Add "Excel Dosyaları", "*.xlsx"

fd.FilterIndex = 1
fd.ButtonName = "Dosyayı Aç"
If FileChosen <> -1 Then
Else

MsgBox Dir(fd.SelectedItems(1))
Dim fL As Object
Set fL = CreateObject("Scripting.FileSystemObject")
MsgBox fL.GetParentFolderName(fd.SelectedItems(1))


End If
End Sub
 
Klasör yolu
Kod:
Private Sub CommandButton1_Click()

Set folder = Application.FileDialog(msoFileDialogFolderPicker)

With folder
.Title = "Klasör Açma Penceresi"
.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = False
If .Show <> -1 Then GoTo 1
MsgBox .SelectedItems(1)
1
End With

End Sub

Halit Hocam burada klasör seçerken veriyor,
benim aradığım dosya seçimi yaptığımda, ilgili dosyanın yolunu verecek.

teşekkürler, iyi akşamlar.
 
Merhabalar,

Excel de "File Dialog" yolu ile bir dosya seçerek liste kutusuna ekleme yapabiliyoruz, benim burada istediğim "Full Name" yerine sadece "File Name" (Dosya adı) eklemek istiyorum. özetle Dosya yolunu atmak istiyorum

buradaki FileName = fd.SelectedItems(1) kodu üzerinde nasıl bir düzenleme yapmak gerekir?


"FileName" değişkenini elde ettikten sonra, basitçe şöyle olabilir;

Kod:
MsgBox Replace(FileName, Dir(FileName), "")

.
 
Son düzenleme:
Dosya adı için;

Kod:
FileName = Replace(fd.SelectedItems(1), fd.InitialFileName, "")

Dosya yolu için;

Kod:
FilePath = fd.InitialFileName
 
Dosya adı için;

Kod:
FileName = Replace(fd.SelectedItems(1), fd.InitialFileName, "")

Dosya yolu için;

Kod:
FilePath = fd.InitialFileName
Sn Haluk & Korhan hocam her ikinize de teşekkürler.
sağlıklı günler dilerim.
 
Geri
Üst