vbscript ms word用超链接查找和替换文本

vbscript ms word用超链接查找和替换文本,vbscript,hyperlink,ms-word,Vbscript,Hyperlink,Ms Word,我有一些vbscript,它使用查找和替换来填充签名模板。它工作得很好,但我想一些文本显示为超链接。我尝试过各种各样的事情,但不知道我在做什么,所以如果有任何建议,我将不胜感激 Sub SearchAndRep(searchTerm, replaceTerm, WordApp) WordApp.Selection.GoTo 1 Set objSelection = objWord.Selection objSelection.Find.Text = searchTerm objSelectio

我有一些vbscript,它使用查找和替换来填充签名模板。它工作得很好,但我想一些文本显示为超链接。我尝试过各种各样的事情,但不知道我在做什么,所以如果有任何建议,我将不胜感激

Sub SearchAndRep(searchTerm, replaceTerm, WordApp)
WordApp.Selection.GoTo 1
Set objSelection = objWord.Selection

objSelection.Find.Text = searchTerm
objSelection.Find.Replacement.Text = replaceTerm & ""
objSelection.Find.Forward = TRUE
objSelection.Find.MatchWholeWord = TRUE

If objSelection.Find.Execute Then

  Select Case searchTerm
    Case "%ScannedSignature%"

      WordApp.Selection.TypeBackspace()

  PictureFile="\\bb01.com\bwbdfs01\users\Signatures\scanned\" & replaceTerm
  Set fs = CreateObject("Scripting.FileSystemObject")

  If fs.FileExists(PictureFile) Then
    Set objShape = objSelection.InlineShapes.AddPicture(PictureFile)
  Else
    WordApp.Selection.MoveEnd
    WordApp.Selection.TypeBackspace()
    wscript.echo("Could not find scanned logo")
    wscript.echo(PictureFile)
  End If
  Set fs = Nothing

Case "%LinkedIn%",
  'This is where my code will go to insert a hyperlink

Case "%TelephoneLine3%", "%TelephoneLine4%"

  If replaceTerm & "" <> "" Then
    objSelection.Find.Execute,,,,,,,,,,2
  Else
    WordApp.Selection.TypeBackspace()
    WordApp.Selection.TypeBackspace()
    WordApp.Selection.TypeBackspace()
  End If

Case Else

  If replaceTerm & "" <> "" Then
    objSelection.Find.Execute,,,,,,,,,,2
  Else
    WordApp.Selection.TypeBackspace()
    WordApp.Selection.TypeBackspace()
  End If

End Select

Else
  'Do nothing
 End If
End Sub
Sub-SearchAndRep(searchTerm、replaceTerm、WordApp)
WordApp.Selection.GoTo 1
设置objSelection=objWord.Selection
objSelection.Find.Text=searchTerm
objSelection.Find.Replacement.Text=replaceTerm&“
objSelection.Find.Forward=TRUE
objSelection.Find.MatchWholeWord=TRUE
如果objSelection.Find.Execute,则
选择案例搜索术语
案例“%ScannedSignature%”
WordApp.Selection.TypeBackspace()
PictureFile=“\\bb01.com\bwbdfs01\users\Signatures\scanned\”&replaceTerm
设置fs=CreateObject(“Scripting.FileSystemObject”)
如果存在fs.files(PictureFile),则
设置objShape=objSelection.InlineShapes.AddPicture(PictureFile)
其他的
WordApp.Selection.MoveEnd
WordApp.Selection.TypeBackspace()
echo(“找不到扫描的徽标”)
echo(图片文件)
如果结束
设置fs=Nothing
案例“%LinkedIn%”,
'这是我的代码插入超链接的地方
案例“%TelephoneLine3%”,案例“%TelephoneLine4%”
如果替换术语&“”,则
objSelection.Find.Execute,,,,,,,,,,2
其他的
WordApp.Selection.TypeBackspace()
WordApp.Selection.TypeBackspace()
WordApp.Selection.TypeBackspace()
如果结束
其他情况
如果替换术语&“”,则
objSelection.Find.Execute,,,,,,,,,,2
其他的
WordApp.Selection.TypeBackspace()
WordApp.Selection.TypeBackspace()
如果结束
结束选择
其他的
“什么也不做
如果结束
端接头

在Word中,超链接由字段代码管理。如果在文档中按Alt+F9,则在字段代码和字段结果视图之间切换。手动在文档中插入超链接,然后查看字段代码,以便了解您正在处理的内容

在对象模型中,字段代码为您“抽象”,这样您就不必担心字段结构,只需使用
Document.Hyperlinks.Add
方法即可。您没有为您在代码中使用的文档显示对象变量,因此我将假设objDocument

objDocument.Hyperlinks.Add Selection.Range, "http://testaddress.com"
这是最低限度的。还有子地址、屏幕提示、TextToDisplay和Target的其他参数-有关详细信息,请在语言参考中查找