我无法通过VBA将文本直接插入书签
'尝试通过VBA将文本直接插入书签 “试了很多东西,但都没用 有人能指出我哪里弄错了吗我无法通过VBA将文本直接插入书签,vba,ms-word,Vba,Ms Word,'尝试通过VBA将文本直接插入书签 “试了很多东西,但都没用 有人能指出我哪里弄错了吗 Sub AddBookMark() Dim BMName As String Dim Contents As String sText = "BM1" Contents = "Testing" With ActiveDocument.Bookmarks .Add Range.Text:=Contents .Add Name:=BMName .DefaultSorting = wdSortByNam
Sub AddBookMark()
Dim BMName As String
Dim Contents As String
sText = "BM1"
Contents = "Testing"
With ActiveDocument.Bookmarks
.Add Range.Text:=Contents
.Add Name:=BMName
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
End Sub
'编译错误:语法错误您不能向文档中不存在的文本添加书签。换句话说,您必须首先选择要包含在书签中的文本。如果文本不存在,则必须插入文本,然后可以选择文本,最后插入必要的书签将其包围 如果打开VBE、Visual Basic编辑器并查看代码,您会看到红色的语句
Add Range.Text:=Contents
,它会导致语法错误,因为Bookmarks.Add方法中没有此类属性
即使使用Bookmarks.Add方法,您的代码仍然会失败,因为字符串变量BMName从未给定值,并且BookMark名称不能为空
以下是您应该学习的日常活动的修订代码:
Sub AddBookMarkRevised()
Dim BMName As String
Dim Contents As String
Dim rng As Range
BMName = "BM1"
Contents = "Testing"
Set rng = Selection.Range
rng.Text = Contents
With ActiveDocument.Bookmarks
.Add BMName, rng
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
End Sub
什么是范围。文本:=内容?有一个
范围
参数。错误消息中的信息比您提供的更多。请在您的帖子中包含完整、完整、准确的错误消息,并指出发生错误的行。非常感谢您花时间如此彻底地回答我的问题。您的解释和修改后的代码都很有帮助。