Sửa đổi Hành vi của Hộp thoại Mở (Microsoft Word)
Bronwyn hỏi liệu có cách nào để buộc hộp thoại Mở luôn hiển thị để có thể mở nhiều tệp liên tiếp không. Mặc dù có thể mở nhiều tài liệu cùng một lúc bằng hộp thoại Mở, nhưng điều này không phải Bronwyn muốn làm.
Một giải pháp — chỉ liên quan đến Word — là sử dụng Windows Explorer để hiển thị các tệp trong một thư mục. Mở cửa sổ Explorer hiển thị tất cả các tệp tài liệu. Sau đó, bạn có thể nhấp đúp vào tệp hoặc tạo một tập hợp tệp đã chọn và nhấp chuột phải vào chúng và chọn Mở.
Cửa sổ liên tục có sẵn và bạn không cần phải lo lắng về việc hiển thị liên tục hộp thoại Mở.
Nếu bạn thích một giải pháp trực tiếp trong Word, chỉ cần nhớ rằng Word rất dễ cấu hình, có nghĩa là bạn có thể thay đổi mọi khía cạnh của chương trình. Điều này bao gồm hành vi của hộp thoại Mở. Tất cả những gì bạn cần làm là tạo một lệnh thay thế cho lệnh FileOpen, như sau:
Public Sub FileOpen() Dim err_handler On Error GoTo err_handler With Dialogs(wdDialogFileOpen) .Name = "." Do While .Show <> 0 .Name = "." Loop End With Exit Sub err_handler: If Err.Number = 5174 Then MsgBox "You can open only one file at a time.", vbCritical Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation End If End Sub
Với macro này, bất cứ khi nào bạn chọn Mở từ menu Tệp, Word sẽ hiển thị hộp thoại Mở với Tất cả Tệp là loại tệp được chỉ định. Sau đó, bạn có thể chọn một tệp và hộp thoại lại mở ra để chờ lựa chọn tiếp theo của bạn. Nếu bạn bấm vào Hủy trên hộp thoại, thì lệnh kết thúc và bạn có thể bắt đầu các tác vụ khác của mình trong Word.
Có sự khác biệt giữa việc triển khai hộp thoại Mở này và hộp thoại được trình bày thông thường bằng Word. Trong Word, bạn có thể tạo một “tập hợp lựa chọn” trong hộp thoại Mở để có thể mở nhiều tệp cùng một lúc. Khi bạn sử dụng hộp thoại wdDialogFileOpen (như được thực hiện khi bạn tạo lệnh thay thế riêng cho lệnh Open), bạn chỉ có thể chọn một tệp duy nhất tại một thời điểm. Đây dường như không phải là vấn đề lớn đối với Bronwyn, nhưng có thể là vấn đề đối với những người dùng khác.
Nếu bạn phải duy trì khả năng mở nhiều tệp cùng một lúc, thì bạn có thể thực thi điều khiển thanh lệnh. Tuy nhiên, khi thực hiện điều khiển thanh lệnh, bạn không thể kiểm tra xem ai đó nhấp vào Hủy. Do đó, bạn cần một cách khác để thoát ra khỏi vòng lặp. Trong quy trình sau, bạn có thể chọn / mở nhiều tệp, nhưng bạn cũng phải trả lời hộp thoại để thoát khỏi vòng lặp hiển thị hộp thoại.
Sub GetNewFiles() Dim Response Do While Response <> vbNo CommandBars("Standard").Controls("&Open...").Execute Response = MsgBox(Prompt:="Open another file?", Buttons:=vbYesNo) Loop End Sub
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (1869) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: