VBA GetOpenFilename | Làm thế nào để sử dụng phương pháp GetOpenFilename trong VBA?

GetOpenFilename là một phương thức cũng là một thuộc tính của FSO, phương thức này dùng trong VBA để tìm một tệp nào đó có tên tệp và chọn nó, yếu tố quan trọng trong phương thức này là đường dẫn của tên tệp được cung cấp để mở nó, chúng ta có thể chuyển đường dẫn của tên tệp trong hàm hoặc chúng ta có thể yêu cầu người dùng trình bày một đường dẫn tệp để chọn nó.

Ứng dụng Excel VBA.GetOpenFilename

Có những tình huống mà chúng ta cần truy cập vào tên tệp cụ thể và điều này có thể thực hiện được với mã hóa VBA. Để truy cập vào tệp, chúng ta cần phải đề cập đến đường dẫn thư mục và tên tệp cùng với phần mở rộng tệp của nó. Để lấy tên tệp, nhiều người viết mã sẽ cung cấp hộp nhập VBA như các tùy chọn để nhập đường dẫn tệp và tên tệp. Nhưng đây không phải là một lựa chọn tốt để thực hành, vì khi bạn trình bày một hộp nhập liệu trước mặt người dùng, họ không phải lúc nào cũng nhớ đường dẫn tệp, dấu gạch chéo ngược để tách một thư mục khỏi thư mục khác, tên tệp và phần mở rộng của tệp. . Điều này làm cho đầu vào do người dùng đưa ra trở nên lộn xộn hơn và cuối cùng, mọi thứ sẽ bị xáo trộn ngay cả khi có một lỗi ký tự khoảng trắng nhỏ. Cách tốt nhất là thay thế hộp nhập liệu bằng phương thức của VBA được gọi là “GetOpenFileName”.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng VBA GetOpenFileName để lấy tên tệp mà không gặp bất kỳ lỗi nào.

GetOpenFilename làm được gì trong Excel VBA?

VBA “GetOpenFileName” cho phép người dùng chọn tệp từ máy tính mà chúng tôi đang làm việc mà không cần mở tệp.

Với sự trợ giúp của phương thức “GetOpenFileName”, chúng tôi thực sự có thể trình bày một hộp thoại trước mặt người dùng để chọn tệp trong thư mục cần thiết. “GetOpenFileName” sẽ sao chép vị trí tệp cùng với tên tệp và phần mở rộng tệp.

Cú pháp GetOpenFilename trong Excel VBA

Hãy xem cú pháp của phương thức "GetOpenFilename".

  • Bộ lọc tệp: Trong đối số này, chúng ta có thể chỉ định loại tệp sẽ được hiển thị để chọn. Ví dụ: nếu bạn đề cập đến “Tệp Excel, *. Xlsx”, nó sẽ chỉ hiển thị Tệp Excel được lưu với phần mở rộng excel “xlsx”, không có tệp nào khác sẽ được hiển thị. Nếu bạn bỏ qua tất cả các loại tệp sẽ được hiển thị.
  • Chỉ mục bộ lọc: Với điều này, chúng tôi hạn chế người dùng chọn loại tệp. Chúng tôi có thể liệt kê chỉ định số lượng bộ lọc được hiển thị trong Bộ lọc tệp.
  • Tiêu đề: Nó hiển thị tiêu đề hộp thoại tệp được chọn.
  • Văn bản Nút: Điều này chỉ dành cho Macintosh.
  • Đa lựa chọn: ĐÚNG nếu bạn muốn chọn nhiều tệp hoặc nếu không thì SAI. Giá trị mặc định là FALSE.

Ví dụ về GetOpenFilename trong Excel VBA

Dưới đây là các ví dụ về VBA Application.GetOpenFilename.

Bạn có thể tải xuống Mẫu VBA GetOpenFilename Excel này tại đây - Mẫu VBA GetOpenFilename Excel

Hãy viết mã để lấy tên tệp và địa chỉ đường dẫn.

Bước 1: Khởi động chương trình con.

Mã:

 Sub GetFile_Example1 () End Sub 

Bước 2: Khai báo một biến là String.

Mã:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Bước 3: Đối với biến này, chúng ta sẽ gán GetOpenFileName.

Mã:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

Hiện tại, tôi đã bỏ qua tất cả các thông số.

Bước 4: Bây giờ hiển thị kết quả của biến trong hộp thông báo.

Mã:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Bây giờ hãy chạy mã thông qua phím tắt F5 của excel hoặc theo cách thủ công, nó sẽ hiển thị hộp thoại bên dưới để chọn tệp.

Tôi sẽ chọn bất kỳ một tệp nào và nhấp vào ok.

Ngay sau khi tôi chọn tệp, tôi nhận được một hộp thông báo trong VBA như thế này. Nó hiển thị đường dẫn thư mục đầy đủ và tên tệp excel đã chọn cùng với phần mở rộng tệp.

Như chúng ta thấy trong hình trên, chúng ta có thể thấy tất cả các loại tệp. Bây giờ tôi sẽ thêm tham số đầu tiên tức là Bộ lọc tệp là “Tệp Excel, *. Xlsx”.

Mã:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Bây giờ nếu tôi chạy mã này bằng phím F5 hoặc theo cách thủ công, tôi sẽ chỉ thấy các tệp Excel có phần mở rộng là “xlsx”.

Như vậy, chúng ta có thể sử dụng phương thức “VBA Application.GetOpenFileName” để lấy đường dẫn thư mục cùng với Tên tệp và phần mở rộng của tệp.


$config[zx-auto] not found$config[zx-overlay] not found