-1

我正在处理一个 1XXX 字的文档,我想使用 vbs 更快地更改复选框的状态,但我找不到任何工作解决方案,在那之后,我想知道查找和替换是否可以解决我的问题,所以我写了一些代码这个

Const wdReplaceAll  = 2

Set objWord = CreateObject("Word.Application")
objWord.Visible = True

Set objDoc = objWord.Documents.Open("C:\checkbox.doc")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection

objSelection.Find.Text = "@1"
objSelection.Find.Forward = TRUE
objSelection.Find.MatchWholeWord = TRUE

objSelection.Find.Replacement.Text = objSelection.InsertSymbol 253, "Wingdings"
objSelection.Find.Execute ,,,,,,,,,,wdReplaceAll

但是,它不能工作,并且总是在 objSelection.InsertSymbol 253 上显示错误...

4

1 回答 1

0

你不能InsertSymbol在这样的作业中使用。将搜索文本替换为格式为“Wingdings”的适当字符:

With objSelection.Find
  .Text = "@1"
  .Replacement.Text = ChrW(61693)
  .Replacement.Font.Name = "Wingdings"
  ...
End With

objSelection.Find.Execute ,,,,,,,,,,wdReplaceAll

或者只是Find搜索文本,然后InsertSymbol在选择中使用:

objSelection.Find.Text = "@1"
objSelection.Find.Execute

objSelection.InsertSymbol 253, "Wingdings"
于 2013-06-15T10:21:53.793 回答