Thay đổi nội dung được dán trong hộp thoại (Microsoft Word)
Ihor muốn tự động hóa việc chèn siêu liên kết URL vào tài liệu Word. URL sẽ được liên kết với một cụm từ, chẳng hạn như “nhấp vào đây”. Trước tiên, anh ấy sao chép URL của một trang web cụ thể vào Clipboard.
Sau đó, anh ta ghi lại một macro mở hộp thoại Chèn siêu kết nối (Ctrl + K) và dán vào trường thích hợp URL từ Bảng tạm (Ctrl + V) và nhấp vào OK. Sau đó, khi anh ta chạy macro, nó sẽ cung cấp cho anh ta cùng một URL mỗi khi anh ta chạy nó. Ihor muốn dán một URL khác vào hộp thoại mỗi khi anh ta chạy macro, nhưng dường như thiếu cách thực hiện điều đó.
Khi bạn ghi lại một macro, nó rất rõ ràng về những gì nó làm — nó ghi lại chính xác các bước bạn thực hiện, bao gồm cả cách các hộp thoại được điền. Giải pháp không phải là tìm cách dán thông tin mới vào hộp thoại mà là xem cách bạn đang tạo siêu kết nối của mình.
Đây là những gì sẽ được ghi lại nếu bạn chèn một siêu liên kết với trình ghi macro đang chạy:
Sub Macro1() End Sub
Điều Ihor muốn thay đổi là đích cho siêu kết nối, được gán cho thuộc tính Địa chỉ; đây là những gì được “dán” vào trường Địa chỉ của hộp thoại. Để thực hiện việc này, bạn có thể thay đổi macro của mình theo cách đơn giản, chẳng hạn như sau:
Sub Macro2() Dim sTemp As String sTemp = "//" End Sub
Tất cả những gì đã được thực hiện trong ví dụ này là xóa một số chú thích không cần thiết ở đầu macro và tạo một biến chuỗi, sTemp, hiện chứa đích cho siêu kết nối. Biến này sau đó được gán cho thuộc tính Địa chỉ. Khi đó, để thay đổi mục tiêu, người ta chỉ cần thay đổi giá trị của biến sTemp — và có một số cách có thể được thực hiện.
Một cách là sử dụng hàm InputBox để tạo hộp thoại của riêng bạn, theo cách này:
Sub Macro3() Dim sTemp As String Dim sPrompt As String Dim sTitle As String sTemp = "//" sTemp = InputBox(sPrompt, sTitle, sTemp) End Sub
Tất nhiên, Ihor đã đề cập rằng trong quá trình của mình, anh ấy thực sự sao chép URL vào Clipboard. Nếu đó là quy trình mà anh ta muốn sử dụng, có thể chỉ định URL dựa trên bất kỳ thứ gì có trong Bảng tạm khi macro được chạy. Đây là cách bạn sẽ làm điều đó:
Sub Macro4() Dim sTemp As String Dim MyData As DataObject Set MyData = New DataObject MyData.GetFromClipboard sTemp = Trim(MyData.GetText(1)) End Sub
Để sử dụng Bảng tạm theo cách này, bạn cần thiết lập tham chiếu cho Biểu mẫu Microsoft trong VBA Editor. (Chọn Tài liệu tham khảo từ menu Công cụ trong Trình chỉnh sửa.)
Cũng xin lưu ý rằng tất cả các ví dụ này đều sửa đổi những gì được gán cho thuộc tính Địa chỉ của siêu kết nối mới của bạn. Rất có thể bạn sẽ muốn thay đổi macro để sửa đổi những gì được gán cho thuộc tính TextToDisplay.
_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 (138) á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: