我想知道为什么下面的代码不起作用:
Dim shp as Shape
With Range("D7")
.AddComment
.Comment.Visible = True
Set shp = .Comment.Shape
End With
ActiveSheet.Hyperlinks.Add Anchor:=shp, Address:="", _
SubAddress:="A7", ScreenTip:="Move"
如果我对新创建的 Shape 对象(例如矩形)执行类似操作,它可以工作,但只要我将 Anchor 设置为注释的 Shape,代码就会失败
Run-time error '5':
Invalid procedure call or argument
我做错了什么?
谢谢!
答案1
评论是一种形状,但遗憾的是它不支持所有形状属性 - 包括超链接。这就是为什么您可以向其他形状添加超链接,但不能向评论添加超链接。
注释通常不允许您单击它。由于您已将visible属性更改为true,因此这会更改默认行为,使注释停留在某些周围单元格的顶部。由于这种情况正在发生,您最好制作一个形状好像一条评论,但实际上并非如此。将看起来像评论的形状超链接起来,您就会得到答案。
一个简单的替代方法是将单元格链接到超链接。
答案2
我注意到的一件事是,如果您在创建评论时只输入评论的 URL,那么当评论通过“显示评论”显示在屏幕上时,它将是可点击的,并将您引导至相关 URL。即使在编辑评论中的文本后,它仍将作为超链接工作。
因此,这是一种使评论能够链接到最多一个 URL 的解决方法。