Mở địa chỉ Folder của lần mở gần nhất

Liên hệ QC

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Xin chào các anh chị GPE. Em dùng code này để hiện FileDialog
Mã:
Sub Test()
Dim fldr, xlApp
Dim foldername
On Error Resume Next
    Set xlApp = CreateObject("Excel.Application")
    Set fldr = xlApp.FileDialog(4)
    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = msoFileDialogViewList
        If .Show = -1 Then foldername = .SelectedItems(1)
    End With
    Set fldr = Nothing
End Sub
Em muốn các anh chị giúp em khi dùng code này thì FileDialog mở ra sẽ đi đến địa chỉ của Folder của lần mở gần nhất (Giống khi tải file trên internet về máy tính, nó sẽ hiện ra địa chỉ Folder mở gần nhất).
Em xin chân thành cảm ơn !
 
Em muốn các anh chị giúp em khi dùng code này thì FileDialog mở ra sẽ đi đến địa chỉ của Folder của lần mở gần nhất (Giống khi tải file trên internet về máy tính, nó sẽ hiện ra địa chỉ Folder mở gần nhất).
Bạn thử code này xem
Mã:
Sub GetData()
    Dim Wb As Workbook, FileName As Variant
    
    FileName = Application.GetOpenFilename("all,*.*", , "Select File", , False)
    If VarType(FileName) = vbBoolean Then Exit Sub
    
    Call TangToc(True)
    Set Wb = Workbooks.Open(FileName)
    
    'Code của bạn
    
    Call TangToc(False)
End Sub


Sub TangToc(ByVal flag As Boolean)
    With Application
        .ScreenUpdating = Not flag
        .EnableEvents = Not flag
        .DisplayAlerts = Not flag
        .Calculation = IIf(flag, xlCalculationManual, xlCalculationAutomatic)
    End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử code này xem
Mã:
Sub GetData()
    Dim Wb As Workbook, FileName As Variant
   
    FileName = Application.GetOpenFilename("all,*.*", , "Select File", , False)
    If VarType(FileName) = vbBoolean Then Exit Sub
   
    Call TangToc(True)
    Set Wb = Workbooks.Open(FileName)
   
    'Code của bạn
   
    Call TangToc(False)
End Sub


Sub TangToc(ByVal flag As Boolean)
    With Application
        .ScreenUpdating = Not flag
        .EnableEvents = Not flag
        .DisplayAlerts = Not flag
        .Calculation = IIf(flag, xlCalculationManual, xlCalculationAutomatic)
    End With
End Sub
Cảm ơn bác đã giúp đỡ, nhưng ý của em là khi vừa mở file lên nó cũng sẽ dẫn đến đường dẫn folder của lần gần nhất.
 
Upvote 0
Cảm ơn bác đã giúp đỡ, nhưng ý của em là khi vừa mở file lên nó cũng sẽ dẫn đến đường dẫn folder của lần gần nhất.
Lần đầu chạy code bạn phải chọn file bạn cần, từ lần thứ 2 thì nó sẽ mở cửa sổ của đường dẫn trước đó mà. Nếu bạn tắt file Excel gốc thì phải thực hiện lại như ban đầu.
Bài đã được tự động gộp:

khi vừa mở file lên nó cũng sẽ dẫn đến đường dẫn folder của lần gần nhất
Còn nếu bạn muốn khi mở file lên và chạy code thì nó đưa đến đường dẫn trước đó thì bạn phải lưu đường dẫn trước đó rồi sửa chỗ thuộc tính InitialFileName

1667031449736.png
 
Lần chỉnh sửa cuối:
Upvote 0
Lần đầu chạy code bạn phải chọn file bạn cần, từ lần thứ 2 thì nó sẽ mở cửa sổ của đường dẫn trước đó mà. Nếu bạn tắt file Excel gốc thì phải thực hiện lại như ban đầu.
Vâng Bác, vì em nghĩ có thể làm được kiểu như trên windows nên hỏi trên diễn đàn hy vọng có người hướng dẫn
 
Upvote 0
Vâng Bác, vì em nghĩ có thể làm được kiểu như trên windows nên hỏi trên diễn đàn hy vọng có người hướng dẫn
Trong lần chạy code trước đó bạn lưu lại đường dẫn, rồi sửa chỗ thuộc tính InitialFileName đến đường dẫn được lưu trước đó.
 
Upvote 0
Web KT
Back
Top Bottom