Có thể cho hiên đường dẩn lên tiêu đề của hộp Browse for folder không?

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,930
Tôi có đoạn code thế này:
PHP:
Sub BrowseFolder()
  On Error Resume Next
  With New Shell32.Shell
    MsgBox .BrowseForFolder(0, "Chon thu muc", 1).Items.Item.Path
  End With
End Sub
Code này dùng để mở hộp Browse For Folder (dùng thư viện Shell32.dll)
Tôi muốn hỏi: Có cách nào để khi tôi chọn vào thư mục nào trong hộp BrowseForFolder này thì lập tức trên thanh tiêu đề sẽ xuất hiện đường dẩn của Folder tôi đang chọn?
Ví dụ: Khi tôi đang chọn vào thư mục D:\DULIEU thì thanh tiêu đề cũng xuất hiện đường dẩn như thế ---> Giống hình này:

attachment.php


Đã làm đủ mọi cách, nhưng chỉ sau khi nhấn OK thì mới lấy được đường dẩn
 

File đính kèm

  • Test.xls
    40.5 KB · Đọc: 42
  • untitled.JPG
    untitled.JPG
    21 KB · Đọc: 147
Lần chỉnh sửa cuối:
Cũng 1 câu hỏi nữa có liên quan đến hộp Browse For Folder (xin post chung vào đây luôn)
Tôi có đoạn code sau:
PHP:
Sub BrowseFolder()
  With CreateObject("Shell.Application")
    On Error Resume Next
    MsgBox .BrowseForFolder(0, Evaluate("Text"), 1).Items.Item.Path
  End With
End Sub
Cho hỏi: Tại sao khi chạy code tôi lại không lấy được đường dẩn của Desktop Folder?
 

File đính kèm

  • BrowseFolder_2.xls
    17.5 KB · Đọc: 31
Upvote 0
Tôi có 1 file về chọn Folder không biết đúng ý bác không?
Nếu không đúng có thể tham khảo
PHP:
Sub BrowseFolder()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "BrowseForFolder"
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Canceld"
Else
MsgBox .SelectedItems(1)
End If
End With
End Sub
Thân !!!
 

File đính kèm

  • BrowseFolder.xls
    23 KB · Đọc: 37
Lần chỉnh sửa cuối:
Upvote 0
Tôi có 1 file về chọn Folder không biết đúng ý bác không?
Nếu không đúng có thể tham khảo
PHP:
Sub BrowseFolder()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "BrowseForFolder"
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Canceld"
Else
MsgBox .SelectedItems(1)
End If
End With
End Sub
Thân !!!
Cảm ơn bạn! FileDialog thì tôi biết rồi ---> Ý tôi là muốn hỏi về hộp Browse For Folder như tôi đưa ở trên cơ? Tại sao nó không chẳng "động đậy" gì khi ta chọn vào Folder Desktop?
Còn ví dụ mà bạn đưa, tôi nghĩ chỉ cần vầy là đủ:
PHP:
Sub BrowseFolder1()
  On Error Resume Next
  With Application.FileDialog(4)
    .AllowMultiSelect = False: .Show
    MsgBox .SelectedItems(1)
  End With
End Sub
Browse Folder chứ không phải Browse File
 
Lần chỉnh sửa cuối:
Upvote 0
Một số file thao tác với Folder sưu tầm
Mọi người tham khảo
 

File đính kèm

  • Foleder.xls
    24.5 KB · Đọc: 32
Upvote 0
Ôi trời ơi! Tôi biết cách làm rồi
Chỉ có bao nhiêu đó thôi mà "nó" vật tôi cả tuần nay!
Hic...
Thì ra là:
PHP:
Sub BrowseFolder()
  With CreateObject("Shell.Application")
    On Error Resume Next
    MsgBox .BrowseForFolder(0, Evaluate("Text"), 1).Self.Path
  End With
End Sub
Ăn tiền ở chổ .Self đấy
 
Upvote 0
File này tôi chọn được đường dẫn của Desktop nhung còn vấn đề Title nữa,cùng trao đổi
 

File đính kèm

  • Folder desktop.xls
    29 KB · Đọc: 27
Upvote 0
File này tôi chọn được đường dẫn của Desktop nhung còn vấn đề Title nữa,cùng trao đổi
Code mà bạn đưa lên tôi đã từng tham khảo qua ---> Chưa biết nó hay ho thế nào, nhưng mà dài quá.. nhìn "đuối" luôn ---> Dù sao thì dùng CreateObject("Shell.Application") vẫn gọn hơn rất nhiều
 
Upvote 0
Web KT
Back
Top Bottom