Vba 如何超链接Visio角色对象

Vba 如何超链接Visio角色对象,vba,visio,Vba,Visio,我正在使用VBA宏在图形文件中自动添加超链接,这样当文本中提到某个单词时,我可以链接到图形中的另一页 根据MSDN和Visio的帮助,超链接对象可以与单元格、字符、行或节对象相关联。然而,我找不到任何方法将超链接与形状以外的任何东西联系起来 因此,问题是,如何在Visio中以单个形状在文本段落中超链接单个单词?我只熟悉在Visio中触发超链接导航的两种方法: 向形状添加超链接,然后单击该形状(或从形状的关联菜单中选择超链接) 在单元格公式中添加对超级链接shapesheet函数的调用。做出一个触

我正在使用VBA宏在图形文件中自动添加超链接,这样当文本中提到某个单词时,我可以链接到图形中的另一页

根据MSDN和Visio的帮助,超链接对象可以与单元格、字符、行或节对象相关联。然而,我找不到任何方法将超链接与形状以外的任何东西联系起来


因此,问题是,如何在Visio中以单个形状在文本段落中超链接单个单词?

我只熟悉在Visio中触发超链接导航的两种方法:

  • 向形状添加超链接,然后单击该形状(或从形状的关联菜单中选择超链接)
  • 在单元格公式中添加对超级链接shapesheet函数的调用。做出一个触发该单元格的recalc的更改,然后将跟随超链接
  • 我能想到的最好的主意,但不是很好,是:

  • 确保您的形状是一个组-如果不是,请将其转换为组
  • 将组的属性更改为SelectMode=visGrpSelModeMembers1st和DisplayMode=visGrpDisModeBack
  • 将一个新形状、大小和中心放置在所讨论的单词上。使新形状透明(此处的部分透明可用于高亮显示)
  • 将DblClick事件的公式更改为“Hyperlink(“yourURLhere”)”
  • 将该形状添加到组中
  • 现在,双击单词实际上应该包括双击新的子形状,这将触发超链接。只有当你的形状被设计成与这个想法配合使用时,这才是真正可行的——许多开箱即用的形状在这里不会很好地工作,因为步骤1和2可能会产生丑陋的副作用


    我希望其他人知道解决此问题的更优雅的方法。

    您正在阅读Hyperlink.Shape属性描述吗?我认为这是一个基本属性,由单元格、字符、行和节对象以及超链接对象继承。据我所知,你只能在形状上添加超链接。是的,我正在阅读描述。我认为这是一个长期的尝试,也许有一种未经证明的方法可以将超链接应用到字符集。谢谢,我认为这可能是最好的方法让超链接与文本内联。我想我可以向我的同事推荐的是,在页面的一侧添加一个标签/图标,指示链接的图形所在的位置,并链接该图标形状。您还可以使用图标样式的数据图形对该形状进行注释,表明它是可点击的。