gpt4 book ai didi

VBA - 在 SmartArtNodes 上使用 .onAction

转载 作者:行者123 更新时间:2023-12-02 04:47:49 25 4
gpt4 key购买 nike

我是 VBA 新手,正在尝试使用 smartArt.Nodes 基于某些单元格数据动态生成组织结构图。我能够毫无问题地生成图表。现在,我希望能够通过单击图表的特定节点来显示它们的更多详细信息。我知道我们可以使用 Excel 中的绘图工具将 smartArts 转换为形状,然后对它们使用 .onAction,如下所示:

ActiveSheet.Shapes(name1).OnAction = "detail"

但是,有没有办法使用 VBA 与 smartArt.nodes 实现相同的效果?假设我有一个名为“nodes1”的节点,我尝试过:

nodes1.Shapes.OnAction = "detail"

Dim objShape As Shape
Dim SmartArtNod As SmartArtNode
Set objShape = ActiveSheet.Shapes(1)
Set SmartArtNod = objShape.SmartArt.AllNodes(1)

SmartArtNod.Shapes(1).OnAction = "detail"

和其他组合,但它们似乎都不起作用......感谢您的帮助!

最佳答案

很难证明是否定的,但我相信这是不可能的。使用 Excel 2013 进行测试,我可以确认以下内容不起作用:

  • 尝试使用以下方式捕获 SmartArt 的选择Worksheet_SelectionChanged 不会触发。如果您更改从单元格到 SmartArt 对象的选择,您将不会得到事件。然而,当您失去焦点时,您会收到一个事件SmartArt 并返回单元格。

  • 您可以选择一个 SmartArt 对象,然后进行调试以检查所选内容。该对象属于类型Object/Shape 并且监 window 口表明它公开了一个OnAction 属性,但尝试设置此属性将抛出异常一个错误。

我认为上述两个问题意味着从 SmartArt 触发 OnAction 事件将非常困难(如果不是不可能的话)。

关于VBA - 在 SmartArtNodes 上使用 .onAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45293346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com