2010-07-28 34 views
9

Có macro, mã VBA hoặc VBScript mà tôi có thể viết để chỉnh sửa các url của tất cả các siêu liên kết trong tài liệu Word của tôi không? Hoặc là định dạng Word 97-2003 hoặc docx.Làm thế nào để lập trình chỉnh sửa tất cả các siêu liên kết trong một tài liệu Word?

+0

Những loại chỉnh sửa nào bạn muốn thực hiện? Bạn có muốn chuyển qua từng siêu kết nối hoặc thực hiện cùng một thay đổi cho mỗi siêu kết nối không? –

+0

Về cơ bản, tôi muốn thay thế trên mỗi siêu liên kết. Tên máy chủ tệp đã thay đổi. – jinsungy

Trả lời

10
Dim doc As Document 
Dim link, i 
'Loop through all open documents. 
For Each doc In Application.Documents 
    'Loop through all hyperlinks. 
    For i = 1 To doc.Hyperlinks.Count 
     'If the hyperlink matches. 
     If LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.com/" Then 
      'Change the links address. 
      doc.Hyperlinks(i).Address = "http://www.google.com/" 
      'Change the links display text if desired. 
      doc.Hyperlinks(i).TextToDisplay = "Changed to Google" 
     End If 
    Next 
Next 

Dưới đây là một liên kết đến tất cả các Hyperlink Methods and Properties

+0

Làm việc hoàn hảo. Cảm ơn. – jinsungy

+0

Giúp tôi, cảm ơn bạn! –

+1

Thao tác này không hoạt động với hình ảnh có siêu liên kết =/Bạn có biết cách tải những hình ảnh đó không? –

0

này đã giúp tôi vô cùng. Người dùng đã mở Tài liệu Word chứa siêu liên kết thông qua ổ đĩa được ánh xạ của mình thay vì đi theo đường dài qua mạng. Hàng trăm tài liệu sẽ được lưu!

tôi đã sử dụng giữa() chức năng:

Sub FixMyHyperlink() 

    Dim doc As Document 
    Dim link, i 

    'Loop through all open documents. 
    For Each doc In Application.Documents 
     'Loop through all hyperlinks. 
     For i = 1 To doc.Hyperlinks.Count 
      'If the hyperlink matches. 
      If LCase(doc.Hyperlinks(i).Address) Like "*partOfHyperlinkHere*" Then 
       'Change the links address. Used wildcards (*) on either side. 
       doc.Hyperlinks(i).Address = Mid(doc.Hyperlinks(i).Address, 70,20)  ' 
       'Change the links display text if desired. 
       'doc.Hyperlinks(i).TextToDisplay = "Oatmeal Chocolate Chip Cookies" 
      End If 
     Next 
    Next 
End Sub 
Các vấn đề liên quan