Siêu liên kết VBA

Hướng dẫn VBA này bao gồm các cách khác nhau để làm việc với siêu liên kết trong VBA.

Siêu liên kết VBA

Với VBA, bạn có thể thêm siêu liên kết, xóa siêu liên kết, tạo email bằng siêu liên kết và mở tệp bằng siêu liên kết trong VBA.

Thêm siêu liên kết với VBA

Phương thức Hyperlinks.Add thêm một siêu kết nối vào một ô bằng VBA.

Đoạn mã sau sẽ thêm một siêu liên kết vào ô A1:

123 Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/"Kết thúc Sub

Kết quả là:

Thêm văn bản vào hiển thị với VBA

Bạn có thể thêm văn bản gọn gàng thân thiện với người dùng để hiển thị vào siêu liên kết của mình với VBA. Nếu bạn đã sử dụng chức năng trang tính, bạn sẽ chèn một siêu liên kết và sau đó thêm văn bản để hiển thị trong hộp thoại được cung cấp.

Đoạn mã dưới đây trình bày cách thêm văn bản để hiển thị vào siêu kết nối của bạn bằng VBA:

123 Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel"Kết thúc Sub

Kết quả là:

Thêm thủ thuật màn hình với VBA

Bạn có thể thêm Mẹo màn hình vào siêu liên kết của mình mà người xem sẽ thấy khi họ di chuột qua liên kết.

Đoạn mã dưới đây cho thấy cách thêm Mẹo màn hình vào siêu liên kết của bạn bằng VBA:

123 Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "Đây là liên kết cho Automate Excel"Kết thúc Sub

Kết quả là:

Xóa siêu liên kết bằng VBA

Phương pháp Hyperlinks.Delete có thể được sử dụng để xóa một siêu kết nối khỏi một ô.

Đoạn mã sau sẽ xóa siêu kết nối khỏi ô A1 và văn bản trong ô.

Lưu ý rằng chỉ xóa siêu liên kết, không xóa chính văn bản, đó là lý do tại sao nếu bạn muốn xóa văn bản, bạn cũng phải sử dụng phương pháp Xóa.

1234 Sub DeleteHyperlinkinCell ()Phạm vi ("A1"). Siêu liên kết. XóaPhạm vi ("A1"). Rõ ràngKết thúc Sub

Xóa tất cả các siêu liên kết trong một trang tính

Bạn cũng có thể xóa tất cả các siêu liên kết trong trang tính của mình bằng phương pháp Hyperlinks.Delete.

Đoạn mã sau sẽ xóa tất cả các siêu liên kết trong trang tính đầu tiên trong sổ làm việc của bạn:

123 Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteKết thúc Sub

Theo dõi siêu liên kết trang web bằng VBA

Mã sau cho phép bạn mở một địa chỉ trang web, trong một cửa sổ mới trong trình duyệt của bạn bằng cách sử dụng phương pháp FollowHyperlink trong sổ làm việc của bạn:

123 Sub FollowHyperlinkForWebsite ()Địa chỉ ActiveWorkbook.FollowHyperlink: = "https://www.automateexcel.com/excel", NewWindow: = TrueKết thúc Sub

Theo dõi Siêu liên kết đến một thư mục trên Drive của bạn

Đoạn mã sau sẽ mở một thư mục có tên ExcelFiles trên Màn hình nền bằng Phương pháp FollowHyperlink:

123 Sub FollowHyperlinkForFolderOnDrive ()Địa chỉ ActiveWorkbook.FollowHyperlink: = "C: \ Desktop \ ExcelFiles"Kết thúc Sub

Theo dõi Siêu liên kết tới một tệp trên Drive của bạn

Đoạn mã sau sẽ mở một tệp Excel có tên WorkbookOne trong thư mục được gọi là ExcelFiles trên Màn hình bằng Phương pháp FollowHyperlink:

123 Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueKết thúc Sub

Đi đến một ô trong một trang tính khác trong cùng một Sổ làm việc

Bạn có thể thêm một siêu kết nối vào một ô trong một trang tính để đưa bạn đến một trang tính khác, trong cùng một sổ làm việc với VBA. Giả sử bạn đang ở trên Trang tính1, ô A1 của sổ làm việc và bạn muốn chèn một siêu liên kết đến Trang tính2, ô B2 của cùng một sổ làm việc, bạn có thể sử dụng thuộc tính SubAddress để thực hiện việc này.

Đoạn mã sau minh họa cách thực hiện việc này:

123 Sub GoToA AnotherCellInAosystemSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Bấm vào đây để đi tới Sheet2, ô B2 của cùng một sổ làm việc "Kết thúc Sub

Hiển thị tất cả các Siêu liên kết trong một Trang tính

Bạn có thể truy cập bộ sưu tập siêu liên kết và hiển thị tất cả các siêu liên kết trong trang tính của mình trong Cửa sổ trung gian trong VBA Editor. Trước tiên bạn phải nhấn CTRL + G trên bàn phím của bạn hoặc truy cập Xem> Cửa sổ trung gian trong VBE Editor, để xem Cửa sổ Trung gian.

Đoạn mã sau cho biết cách xem các siêu liên kết trong trang tính của bạn trong Cửa sổ Trung gian:

1234567891011 Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws As WorksheetĐặt ws = ThisWorkbook.Sheets (1)Đối với mỗi lnk Trong ws.Debug.Print lnk.AddressLnk tiếp theoKết thúc Sub

Kết quả được hiển thị trong Cửa sổ trung gian.

Hiển thị tất cả các Siêu liên kết trong Sổ làm việc

Bạn có thể truy cập bộ sưu tập siêu liên kết, để lặp qua và hiển thị tất cả các siêu liên kết trong Sổ làm việc của bạn trong Hộp thư.

Đoạn mã sau đây cho thấy cách thực hiện việc này và sử dụng một vòng lặp lồng nhau để đạt được điều này:

1234567891011 Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWorkbook.WorksheetsĐối với mỗi lnk Trong ws.MsgBox lnk.AddressLnk tiếp theoTuần tiếp theoKết thúc Sub

Sử dụng phương pháp FollowHyperlink để tạo email

Bạn cũng có thể tạo email bằng Phương pháp FollowHyperlink.

Đoạn mã dưới đây sẽ chỉ cho bạn cách tạo email bằng Phương pháp FollowHyperlink trong VBA:

12345678 Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Bạn có khỏe không?"ActiveWorkbook.FollowHyperlink (msgLink)Kết thúc Sub

Kết quả là:

Thêm siêu liên kết vào AutoShape trong Excel

Bạn có thể thêm siêu liên kết vào Tự động định hình trong Excel để khi người dùng nhấp vào hình dạng, họ sẽ được đưa đến địa chỉ trang web.

Đoạn mã sau tạo một hình chữ nhật tròn, thêm văn bản vào hình chữ nhật và thêm siêu liên kết vào hình chữ nhật:

12345678910111213 Thêm phụAHyperlinkToAShape ()Dim myShape As ShapeĐặt myDocument = Worksheets ("Sheet1")Đặt myShape = myDocument.Shapes.AddShape (msoShapeRoundsRectangle, 100, 100, 90, 30)Với myShape.TextFrame.Characters.Text = "Tự động hóa Excel"Kết thúc vớiActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Kết thúc Sub

Kết quả là:

Chèn công thức siêu liên kết vào ô bằng VBA

Giả sử bạn có tiêu đề bài đăng trong ô A4 và liên kết bài đăng trong ô B4 như thể hiện trong hình ảnh bên dưới.

Lời nhắc nhanh về cú pháp công thức Siêu kết nối trang tính là:

HYPERLINK (link_location, [Friendly_name])

link_location - Đây là liên kết đến tài liệu, tệp, vị trí trong sổ làm việc hoặc trang trực tuyến.

tên_hàng_nhắn - (Không bắt buộc) - Giá trị văn bản hoặc số được hiển thị trong ô.

Trong ô C4, bạn muốn thêm siêu liên kết với một văn bản thân thiện để hiển thị, bây giờ thường bạn sẽ nhập công thức = HYPERLINK (B4, A4) vào C4 để nhận được như sau:

Thay vào đó, bạn có thể sử dụng VBA để đạt được kết quả tương tự và chèn công thức này vào ô, trên Sheet1 với mã sau:

123 Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Phạm vi ("C4"). Công thức = "= siêu liên kết (B4, A4)"Kết thúc Sub

Thêm siêu liên kết vào một nút trong Access

VBA cũng cho phép bạn làm việc với các siêu liên kết trong Access. Giả sử chúng tôi có một nút trên biểu mẫu và khi người dùng nhấp vào nút đó, chúng tôi muốn họ được đưa đến một trang web. Một cách mà bạn có thể sử dụng để thực hiện việc này là thông qua phương thức Application.FollowHyperlink.

Chúng tôi có biểu mẫu mẫu của chúng tôi với một nút có tên là buttonOne được hiển thị bên dưới.

Mã cho nút này sẽ là:

12345 Nút phụ riêng tưOne_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Kết thúc Sub

Tạo siêu kết nối từ một lựa chọn trong Word

Bạn cũng có thể làm việc với các siêu liên kết trong Word VBA.
Giả sử chúng tôi có tin nhắn trong Từ có nội dung “Nhấp vào đây để được đưa đến trang web Excel Tự động hóa”, được chọn như được hiển thị bên dưới.

Để biến văn bản này thành một siêu kết nối bằng VBA, bạn có thể sử dụng mã sau:

123 Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Click Here Please", Target: = NewWindowKết thúc Sub

Kết quả là:

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave