Cách chọn excel để mở file

Đối với điểm 1, tôi đã cố gắng tìm hiểu nó, nhưng nó vẫn là một bí ẩn;

Hồi đáp

A. Vì những câu hỏi này liên quan đến một chủ đề tương tự, tôi quyết định đưa cả hai vào đây. Thực tế, có một số cách để mở Excel thuận tiện nhất cho bạn. Bạn có thể tắt màn hình Bắt đầu và để sổ làm việc trống tự động mở hoặc các tệp cụ thể tự động mở. Bạn cũng có thể để Excel tự động mở

Tắt màn hình Bắt đầu và tự động mở sổ làm việc Excel trống

Theo mặc định, màn hình Bắt đầu xuất hiện khi bạn mở Excel [xem ảnh chụp màn hình bên dưới]. Màn hình Bắt đầu chứa các tệp Excel, mẫu Excel và các tùy chọn khác đã mở gần đây. Màn hình này có thể hữu ích;

Để tắt màn hình Bắt đầu, hãy đi tới Tệp , Tùy chọn , General. Under Tùy chọn khởi động , hãy bỏ chọn Hiển thị màn hình Bắt đầu khi ứng dụng này khởi động . Nhấp vào OK . Cửa sổ Tùy chọn Excel sẽ giống với cửa sổ trong ảnh chụp màn hình bên dưới.

Bây giờ, khi bạn mở Excel, một sổ làm việc Excel mới, trống sẽ tự động mở mà bạn không cần phải chọn sổ đó từ màn hình Bắt đầu. Nếu bạn quyết định muốn màn hình Bắt đầu tự động mở, chỉ cần làm theo các bước ở trên và chọn Hiển thị màn hình Bắt đầu khi ứng dụng này bắt đầu .

Tắt màn hình Bắt đầu và tự động mở [các] sổ làm việc Excel cụ thể

Có lẽ bạn không muốn màn hình Bắt đầu xuất hiện mỗi khi bạn mở Excel, nhưng bạn cũng không muốn sổ làm việc Excel trống. Bạn có thể có một tệp hoặc nhiều tệp mà bạn thường sử dụng. Bạn có thể để Excel tự động mở tệp đó hoặc các tệp khi bạn mở Excel. Để thực hiện việc này, hãy đi tới Tệp , Tùy chọn , Advanced. Scroll down to Chung trong cửa sổ Tùy chọn Excel . Bên cạnh Khi khởi động, hãy mở tất cả các tệp trong. , dán hoặc nhập tên thư mục chứa tệp Excel hoặc các tệp bạn muốn tự động mở khi mở Excel. Nhấp vào OK . Cửa sổ Tùy chọn Excel sẽ giống với cửa sổ trong ảnh chụp màn hình bên dưới.

Tự động mở Excel khi bạn khởi động thiết bị của mình

Ngoài việc sử dụng một trong hai tùy chọn trên, bạn có thể để Excel tự động mở khi khởi động thiết bị. Để thực hiện việc này, hãy nhấp vào phím Windows + E và cửa sổ File Explorer sẽ mở ra. Dán vị trí sau vào thanh địa chỉ, thay thế "Tên người dùng" bằng tên người dùng trên thiết bị của bạn. C. \Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Thao tác này sẽ mở thư mục Khởi động.

Tiếp theo, nhấp vào nút Windows Bắt đầu ở dưới cùng bên trái của màn hình. Nhấp chuột phải vào biểu tượng Excel và chọn Thêm , Mở vị trí tệp . Trong cửa sổ mở ra, sao chép biểu tượng Excel. Dán biểu tượng Excel vào thư mục Khởi động mà bạn đã mở ở bước đầu tiên. Bây giờ, khi bạn khởi động thiết bị của mình, Excel sẽ tự động mở.

Bạn cũng có thể tắt màn hình Bắt đầu và tự động mở tệp Excel trống hoặc cụ thể trong Microsoft Word và PowerPoint. Bạn có thể thêm bất kỳ chương trình nào trên thiết bị của mình vào thư mục Khởi động để mở khi khởi động thiết bị

Lưu ý rằng nội dung này dựa trên Microsoft Office 365 dành cho PC. Các phiên bản khác của Microsoft Office có thể hoạt động khác

Xem video trình diễn cả ba kỹ thuật ở cuối bài viết này.

Giới thiệu về tác giả

kelly l. Williams, CPA, Tiến sĩ. D. , MBA, là phó giáo sư kế toán tại Trường Cao đẳng Kinh doanh Jones thuộc Đại học Bang Middle Tennessee

Bài đăng này sẽ trình bày cách chúng tôi có thể cho phép người dùng chọn tệp bằng cách sử dụng hộp thoại kiểu “tệp mở” truyền thống

Điều này có những lợi thế to lớn so với các giải pháp mã hóa cứng trong đó tên tệp và vị trí của nó được xác định tĩnh trong mã VBA…

…hoặc được chụp từ kết quả công thức của một ô

Cung cấp cho người dùng khả năng chọn tệp của họ cho phép chúng tôi thực thi mã VBA trên bất kỳ tệp nào đã chọn. Ta có thể mở tệp, đọc thông tin trong tệp và thao tác với nội dung tệp

Mục tiêu vĩ mô

Mục tiêu của chúng tôi là viết một macro đơn giản nhắc người dùng về một tệp bằng cách sử dụng hộp thoại “mở tệp” truyền thống. Với thông tin này, chúng tôi sẽ mở tệp ở chế độ nền, sao chép một dải dữ liệu, dán tệp đó vào trang tính đang hoạt động của chúng tôi, sau đó đóng tệp do người dùng chọn

Mở VBA Editor để bắt đầu viết mã

Bắt đầu bằng cách mở Visual Basic Editor bằng cách nhấn ALT-F11 trên bàn phím

Quá trình trình bày hộp thoại để mở tệp có thể được thực hiện bằng cách truy cập phương thức tích hợp sẵn của đối tượng Ứng dụng. Phương pháp này được gọi là GetOpenFilename

Để sử dụng phương thức GetOpenFilename trong macro, hãy bắt đầu một quy trình mới và nhập mã sau

Sub Get_Data_From_File[]
	Application.GetOpenFilename
End Sub

Đó là nó

Để kiểm tra, hãy chạy macro để xem Excel hiển thị cho chúng ta hộp thoại Mở

Lưu ý rằng tiêu đề của hộp thoại là “Mở” và bộ lọc loại tệp mặc định là hiển thị tất cả các loại tệp

Đây là những tùy chọn có thể tùy chỉnh

Nếu chúng tôi hủy macro hoặc chọn một tệp và nhấp vào Mở, sẽ không có gì xảy ra

Điều này là do mục đích của phương thức GetOpenFilename là ghi lại tên của tệp đã chọn; . Hành động mở tệp sẽ cần được thực hiện bởi một đoạn mã riêng

Để làm cho phương pháp này hữu ích, chúng tôi sẽ lưu trữ tệp đã chọn trong một biến, sau đó sử dụng biến đó trong phương thức Open để thực hiện thao tác mở tệp

Tùy chỉnh Phương thức GetOpenFilename

Cú pháp của phương thức GetOpenFilename là

GetOpenFilename[ FileFilter, FilterIndex, Title, ButtonText, MultiSelect]

Có một số tùy chọn tùy chỉnh với phương thức GetOpenFilename

  • FileFilter –xác định mẫu theo đó các tệp được lọc. Nếu bạn chỉ muốn hiển thị các tệp văn bản [các tệp có. TXT hoặc. CSV], bạn sẽ xác định bộ lọc là [“Tệp văn bản [*. TXT; . CSV], *. txt; . csv”]
  • FilterIndex – chỉ định bộ lọc mặc định từ danh sách được cung cấp trong FileFilter Nếu không được xác định, mục đầu tiên trong danh sách được chọn làm mặc định
  • Tiêu đề – chỉ định văn bản sẽ được hiển thị trên thanh tiêu đề của hộp thoại
  • ButtonText – tùy chỉnh văn bản cho các nút [chỉ dành cho Macintosh]
  • MultiSelect – Sử dụng TRUE để cho phép chọn nhiều tệp. Sử dụng FALSE để chỉ cho phép chọn một tệp. FALSE là lựa chọn mặc định

Nếu bạn muốn hiểu cách sử dụng MultiSelect đúng cách, hãy xem toàn bộ khóa học

Cập nhật mã

Sau đây là những sửa đổi mà chúng tôi sẽ thực hiện đối với mã hiện tại của mình

  • Chúng tôi muốn ghi lại lựa chọn của người dùng trong một biến có tên “FileToOpen”. Điều này sẽ được khai báo là một kiểu dữ liệu chuỗi
  • Chúng tôi sẽ sử dụng câu lệnh gán SET để đặt lựa chọn của người dùng vào biến “FileToOpen”
  • Chúng tôi sẽ tùy chỉnh tiêu đề của hộp thoại để đọc “Browse for your File & Import Range”
  • Cuối cùng, chúng tôi sẽ chỉ hiển thị các tệp Excel trong hộp thoại; . e. tập tin kết thúc bằng. XLS,. XLSX,. XLSM, hoặc. XLSB

Sử dụng các vị trí đối số để xác định các tùy chọn, mã được cập nhật sẽ xuất hiện như sau

Sub Get_Data_From_File[]
Dim FileToOpen as String
	FileToOpen = Application.GetOpenFilename[“Excel Files [*.xls*], *xls*”, , “Browse for your File & Import Range”]
End Sub

[nhấp vào hình ảnh để phóng to]

Sử dụng tiêu đề tùy chọn để xác định các tùy chọn, mã được cập nhật có thể dễ đọc hơn

Sub Get_Data_From_File[]
Dim FileToOpen as String
	FileToOpen = Application.GetOpenFilename[Title:=“Browse for your File & Import Range”, FileFilter:= “Excel Files [*.xls*], *xls*”]
End Sub

[nhấp vào hình ảnh để phóng to]

Kiểm tra mã

Khi chúng tôi chạy mã, chúng tôi sẽ thấy như sau [lưu ý tiêu đề và bộ lọc tùy chỉnh]

Chọn một tệp và nhấp vào Mở sẽ đưa chúng tôi trở lại Excel mà không cần thực hiện hành động nào. Chúng tôi vẫn chưa tin bất cứ điều gì đã xảy ra

Để xem lựa chọn tệp của người dùng được ghi dưới dạng biến, hãy thực hiện như sau

  1. Thêm một điểm ngắt vào bước mã “End Sub” [nhấp vào cột màu xám nhạt ở bên trái của dòng mã “End Sub”]
  2. Đánh dấu biến "FileToOpen"
  3. Nhấp chuột phải vào biến được tô sáng và chọn “Thêm đồng hồ…”
  4. Bấm OK để thêm đồng hồ [cửa sổ Đồng hồ sẽ tự động mở]

[nhấp vào hình ảnh để phóng to]

Chạy mã

Sau khi chọn file test và nhấn Open, đoạn code sẽ tạm dừng ở dòng cuối cùng

Kiểm tra cửa sổ Watch, chúng ta có thể thấy tên tệp đã chọn đã được ghi lại và lưu trữ trong biến “FileToOpen”. [GHI CHÚ. Bạn cũng có thể di con trỏ chuột qua bất kỳ tham chiếu nào đến “FileToOpen” và quan sát cửa sổ bật lên hiển thị nội dung của biến. ]

[nhấp vào hình ảnh để phóng to]

Hủy lựa chọn của chúng tôi

Giả sử người dùng hủy hộp thoại Open. Làm thế nào mã sẽ phản ứng với hành động này?

Nếu chúng tôi khởi chạy mã và nhấn nút Hủy mà không chọn tệp, phương thức GetOpenFilename sẽ trả về phản hồi “Sai” và lưu trữ nó trong biến “FileToOpen” của chúng tôi

[nhấp vào hình ảnh để phóng to]

Vì biến “FileToOpen” được khai báo là kiểu dữ liệu chuỗi nên từ “False” sẽ được hiểu là tên tệp cần mở

sửa mã

Vì chúng tôi muốn chụp một chuỗi văn bản khi người dùng chọn tệp hoặc chụp phản hồi Boolean khi người dùng nhấp vào nút Hủy, chúng tôi cần thay đổi loại dữ liệu của biến “FileToOpen” thành loại dữ liệu Biến thể

Dim FileToOpen as VariantDim FileToOpen as Variant

Nếu chúng tôi thực thi mã với sửa đổi này, chúng tôi có thể thấy khi chúng tôi tạm dừng ở dòng cuối cùng rằng biến “FileToOpen” đang giữ phản hồi Boolean SAI, không phải phản hồi văn bản

[nhấp vào hình ảnh để phóng to]

Chúng tôi sẽ kiểm tra biến “FileToOpen” để tìm sự hiện diện của Boolean FALSE. Nếu biến KHÔNG Sai, chúng tôi sẽ thực thi phần còn lại của mã. Nếu không, chúng tôi sẽ không làm gì cả

Sub Get_Data_From_File[]
Dim FileToOpen As Variant
	FileToOpen = Application.GetOpenFilename[Title:="Browse for your File & Import Range", FileFilter:="Excel Files [*.xls*],*xls*"]
	If FileToOpen  False Then
		[Things happen here]
	End If
End Sub

[nhấp vào hình ảnh để phóng to]

Đoạn mã dưới đây chứa các hướng dẫn về những gì sẽ được thực hiện khi tên tệp hợp lệ được cung cấp

Chúng tôi đã thêm một biến bổ sung có tên là “OpenBook” để lưu trữ nội dung của tệp đã chọn. Biến “OpenBook” được khai báo là kiểu dữ liệu Workbook

Đoạn mã bổ sung sẽ thực hiện các tác vụ sau

  1. Mở tệp đã chọn
  2. Lưu trữ nội dung của tệp trong biến “OpenBook”
  3. Chọn sheet đầu tiên trong workbook
  4. Sao chép nội dung của các ô từ A1 đến E20
  5. Dán dữ liệu đã sao chép dưới dạng giá trị vào tệp có tên “SelectFile” bắt đầu từ ô A10
  6. Đóng sổ làm việc do người dùng chọn
Sub Get_Data_From_File[]
Dim FileToOpen As Variant
Dim OpenBook as Workbook
	FileToOpen = Application.GetOpenFilename[Title:="Browse for your File & Import Range", FileFilter:="Excel Files [*.xls*],*xls*"]
	If FileToOpen  False Then
		Set OpenBook = Application.Workbooks.Open[FileToOpen]
		OpenBook.Sheets[1].Range["A1:E20"].Copy
		ThisWorkbook.Worksheets["SelectFile"].Range["A10"].PasteSpecial xlPasteValues
		OpenBook.Close False
	End If
End Sub

[nhấp vào hình ảnh để phóng to]

Tối ưu hóa mã

Để giảm nhấp nháy màn hình khi mở tệp nền, chúng tôi sẽ thêm ứng dụng “Ứng dụng. ScreenUpdating” chuyển sang mã của chúng tôi

Chúng tôi sẽ đặt chuyển đổi ở đầu với cài đặt FALSE và chuyển đổi tương tự ở cuối mã với cài đặt TRUE

Sub Get_Data_From_File[]
Dim FileToOpen As Variant
Dim OpenBook as Workbook

Application.ScreenUpdating = False

	[Original OPEN and IF operations go here]

Application.ScreenUpdating = True

End Sub

THƯỞNG. Xác định nhiều bộ lọc với giá trị mặc định

Nếu bạn muốn lọc nhiều loại tệp khác nhau;

________số 8

Lưu ý khi chạy, danh sách đã được lọc cho các tệp Excel, nhưng bạn được cung cấp một danh sách thả xuống để chọn một trong hai loại tệp còn lại

Nếu chúng tôi thêm một giá trị vào tùy chọn FilterIndex, chúng tôi có thể chọn trước một trong các bộ lọc đã xác định làm lựa chọn mặc định. Đối với ba bộ lọc của chúng tôi, chúng tôi sẽ xác định các giá trị sau

1 – cho các tệp Excel

2 – đối với tệp Văn bản

3 – cho Tất cả các tệp

Mã được cập nhật sẽ xuất hiện như sau nếu chúng tôi muốn các tệp Văn bản là lựa chọn bộ lọc mặc định

Chủ Đề