-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 に答える