"method 'add' of object 'SmartArtNodes' failed"



>我有以下代码在Excel中运行,它正在调用PowerPoint幻灯片。我正在为 SmartArt 的每个现有节点设置文本,并且它正在工作。但是,当我使用 AddNode 方法 (oSmartArt.AllNodes.Add.AddNode( 时出现错误。我做错了什么?

Set oSmartArt = d_ppt_output.Slides(SLIDE_SMART).Shapes("MyList").SmartArt
x = 1
While Cells(x, 1).Text <> ""
If x > oSmartArt.Nodes.Count Then
oSmartArt.AllNodes.Add.AddNode ''''' ERROR IS HERE!
End If
oSmartArt.AllNodes(x).Shapes.TextFrame2.TextRange.Text = ActiveSheet.Cells(x, 2).Text
x = x + 1
Wend

我也用oSmartArt.Nodes.Add.AddNode替换了oSmartArt.AllNodes.Add.AddNode,但我遇到了同样的问题。

错误是:-2147467259 (80004005(对象"智能艺术节点"的方法"添加"失败

整个代码可以在这里找到 - https://drive.google.com/drive/folders/1_O79iiG7hbBjMHMSH6kZGkWmjN1WGorR?usp=sharing

发布时,您的代码不会运行。不能引用名称不在引号中的幻灯片。我在PowerPoint中创建了一个超级简单的版本,它以5个成员的SmartArt开头。这正在运行且没有错误。它添加一个新节点并按预期填充文本:

Sub Test()
Set oSmartArt = ActivePresentation.Slides(1).Shapes(2).SmartArt
oSmartArt.AllNodes.Add.AddNode
oSmartArt.AllNodes(6).Shapes.TextFrame2.TextRange.Text = "Wha?"
End Sub

最新更新