Vào ngay Folder chứa File khi dùng Application.GetOpenFilename

Liên hệ QC

Yeuvoyeucon

Thành viên hoạt động
Tham gia
30/10/09
Bài viết
143
Được thích
23
Kính gửi Anh chị,
Em dùng Application.GetOpenFilename để mở forder và lấy dữ liệu của files trong Folder. Khi em chạy code thì không ra đường dẫn ngay, mà phải chọn để tìm ra path để lấy File. Với Forlder có tên không dấu thì em thêm đoạn này FileSystem.ChDir ActiveWorkbook.Path là vào trực tiếp Forder chứa dữ liệu, nhưng Forder tiếng Việt nó báo lỗi. Giờ có cách gì khắc phục lỗi này và đạt được mục đích vào thẳng Folder chứa dữ liệu ạ.

FileSystem.ChDir ActiveWorkbook.Path
FileNames = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls*),*.xls*", _
Title:="Get data", _
MultiSelect:=True)
 
FileDialog mới có InitialFileName
Em đã thử mà vẫn không được anh ạ. A hướng dẫn thêm giúp em với

Set fd = Application.FileDialog(msoFileDialogOpen)
fd.InitialFileName = ThisWorkbook.Path
FileNames = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls*),*.xls*", _
Title:="Get data", _
MultiSelect:=True)
 
Upvote 0
đã dùng filedialog rồi thì dùng getopenfilename làm gì bạn.
Mã:
Set fldr = Application.FileDialog(msoFileDialogFilePicker)
With fldr
    .Title = "Select a File"
    .AllowMultiSelect = False
    .InitialFileName = strPath
    If .Show <> -1 Then GoTo NextCode
    sItem = .SelectedItems(1)
End With
 
Upvote 0
đã dùng filedialog rồi thì dùng getopenfilename làm gì bạn.
Mã:
Set fldr = Application.FileDialog(msoFileDialogFilePicker)
With fldr
    .Title = "Select a File"
    .AllowMultiSelect = False
    .InitialFileName = strPath
    If .Show <> -1 Then GoTo NextCode
    sItem = .SelectedItems(1)
End With
Code không được a.
 
Upvote 0
code không được gì bạn? sItem chính là file bạn chọn trong thư mục đó để chạy lấy dữ liệu.
Code của anh là giống trang này
Em có một File chứa code và các files cần lấy trong folder. Khi mở File chứa code, bấm thì nó đi đến trực tiếp folđer chứa các File này.
 
Upvote 0
Code của anh là giống trang này
Em có một File chứa code và các files cần lấy trong folder. Khi mở File chứa code, bấm thì nó đi đến trực tiếp folđer chứa các File này.
thì thay đoạn code này: .InitialFileName = strPath, strPath là đường dẫn cần nó trỏ đến thôi.
 
Upvote 0
thì thay đoạn code này: .InitialFileName = strPath, strPath là đường dẫn cần nó trỏ đến thôi.
Ý bác em chưa hiểu
Đoạn dưới này có thay được không bác.
Dim fso as FileSystemObject
localPath as String
localFullFileName as String
localPath = fso.GetParentFolderName(fso.GetAbsolutePathName(Application.ActiveWorkbook.Name))
localFullFileName = fso.GetAbsolutePathName(Application.ActiveWorkbook.Name)
 
Upvote 0
Kính gửi Anh chị,
Em dùng Application.GetOpenFilename để mở forder và lấy dữ liệu của files trong Folder. Khi em chạy code thì không ra đường dẫn ngay, mà phải chọn để tìm ra path để lấy File. Với Forlder có tên không dấu thì em thêm đoạn này FileSystem.ChDir ActiveWorkbook.Path là vào trực tiếp Forder chứa dữ liệu, nhưng Forder tiếng Việt nó báo lỗi. Giờ có cách gì khắc phục lỗi này và đạt được mục đích vào thẳng Folder chứa dữ liệu ạ.

FileSystem.ChDir ActiveWorkbook.Path
FileNames = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls*),*.xls*", _
Title:="Get data", _
MultiSelect:=True)
Một câu hỏi không cụ thể:
Ý muốn giúp code làm cái gì thì phải nêu rõ, ví dụ: Tôi muốn giúp code khi click vào nút thì chọn bất kỳ Folder, tiếp theo là chọn bất kỳ File hoặc tất cả các File để lấy dữ liệu vào 1 sheet hoặc mỗi sheet của các File là 1 sheet riêng.
 
Upvote 0
Phải chăng là hiện một hộp thoại chọn file nào đó. Mà cái hộp thoại đó sẽ hiển thị nội dung của một thư mục nào đó để có thể dùng chuột chọn CÁC file luôn. Giúp chọn nhanh ngay các file không phsir duyệt nhiều thư mục?
 
Upvote 0
Phải chăng là hiện một hộp thoại chọn file nào đó. Mà cái hộp thoại đó sẽ hiển thị nội dung của một thư mục nào đó để có thể dùng chuột chọn CÁC file luôn. Giúp chọn nhanh ngay các file không phsir duyệt nhiều thư mục?
Đúng bạn. Bình thường nếu tên thu mục là không dấu thì mình thêm đoạn này FileSystem.ChDir ActiveWorkbook.Path nó sẽ đi thẳng đển thư mục chứa File mà không phải tìm theo đường dẫn của hộp thoại nữa. Nhưng nếu thư mục tiếng việt có dấu thì không được nữa.
 
Upvote 0
Đúng bạn. Bình thường nếu tên thu mục là không dấu thì mình thêm đoạn này FileSystem.ChDir ActiveWorkbook.Path nó sẽ đi thẳng đển thư mục chứa File mà không phải tìm theo đường dẫn của hộp thoại nữa. Nhưng nếu thư mục tiếng việt có dấu thì không được nữa.
Chắc có lẽ thế này.
Mã:
.InitialFileName = ThisWorkbook.Path
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom