一、Diagram对象
代表文档中的单个图示。Diagram 对象是 DiagramNode 和 Shape 对象以及 ShapeRange 集合的成员。
使用 Diagram 对象
使用 Shape 对象或 ShapeRange 集合中的 Diagram 属性返回一个 Diagram 对象。
使用 Convert 方法将图示更改为其他类型。本示例将当前演示文稿第一张幻灯片上的第一个图示转换为一个射线图。本示例假设当前演示文稿中的第一个形状是一个图示,而不是其他类型的形状。
Sub DiagramConvert()
ActivePresentation.Slides(1).Shapes(1).Diagram.Convert Type:=msoDiagramRadial
End Sub
使用 Reverse 属性翻转图示中节点的顺序,以使第一个节点成为最后一个节点,并使最后一个节点变为第一个节点,以此类推。本示例将当前演示文稿第一张幻灯片第二个形状的图示节点的顺序颠倒。本示例假设当前演示文稿的第二个形状为一个图示,而不是其他类型的形状。
Sub DiagramReverse()
ActivePresentation.Slides(1).Shapes(2).Diagram.Reverse = msoTrue
End Sub
DiagramNode 对象可以包含一个嵌套的 Diagram 对象。使用 DiagramNode 对象的 Diagram 属性返回嵌套的 Diagram 对象。
二、DiagramNode对象
代表图示中的一个节点。
使用 DiagramNode 对象
若要返回一个 DiagramNode 对象,请使用下列方法或属性之一:
DiagramNode 对象的 AddNode、CloneNode、NextNode 或 PrevNode 方法,或 Root 属性。
DiagramNodeChildren 集合的 AddNode 或 Item 方法,或 FirstChild 或 LastChild 属性。
DiagramNodes 集合的 Item 方法。
Shape 对象或 ShapeRange 集合的 DiagramNode 属性。
图示节点可以是终点或包含其他子图示、图示子节点或子形状:
若要引用子图示,请使用 Diagram 属性。
若要引用单个图示子节点,请使用 AddNode、CloneNode、NextNode 或 PrevNode 方法,或 Root 属性。
若要引用图示子节点的集合,请使用 Children 属性。
若要引用形状,请使用 Shape 或 TextShape 属性。
使用 AddNode 方法在图示或图示节点中添加一个节点。本示例假设当前演示文稿的第三个形状是一个图示,并向其中添加一个节点。
Sub AddDiagramNode()
ActivePresentation.Shapes(3).DiagramNode.Children.AddNode
End Sub
使用 Delete 方法从图示或图示节点中删除一个节点。本示例假设演示文稿中的第二个形状是一个图示,并删除其中的第一个节点。
Sub DeleteDiagramNode()
ActivePresentation.Shapes(2).DiagramNode.Children(1).Delete
End Sub
三、DiagramNodeChildren集合
DiagramNode 对象的集合,该集合代表图示中的子节点。
使用 DiagramNodeChildren 集合
使用 DiagramNode 对象的 Children 属性返回 DiagamNodeChildren 集合。若要在集合中添加单个图示子节点,请使用 AddNode 方法。若要返回集合中的单个图示子节点,请使用 FirstChild 或 LastChild 属性或 Item 方法。
本示例删除文档中第一个图示第二个节点的第一个子节点。本示例假设当前文档的第一个形状为一个图示;并且该图示中至少有两个节点,且其中一个节点有子节点。
Sub DiagramNodeChild()
ActiveDocument.Shapes(1).Diagram.Nodes.Item(2).Children.FirstChild.Delete
End Sub
四、DiagramNodes集合
DiagramNode 对象的集合,该集合代表图示中的所有节点。
使用 DiagramNodes 集合
使用 Diagram 对象的 Nodes 属性返回一个 DiagramNodes 集合。使用 Item 方法选择并使用图示中的单个图示节点。本示例假设当前演示文稿第一张幻灯片上的第一个形状是一个图示,本示例将选择第一个节点并将它删除。
Sub FillDiagramNode()
ActivePresentation.Slides(1).Shapes(1).Diagram.Nodes.Item(1).Delete
End Sub
使用 SelectAll 方法选择并使用图示中的所有节点。本示例假设当前演示文稿第一张幻灯片上的第一个形状是一个图示,本示例将选择所有节点并使用指定图案填充它们。
Sub FillDiagramNodes()
ActivePresentation.Slides(1).Shapes(1).Diagram.Nodes.SelectAll
ActiveWindow.Selection.ShapeRange.Fill.Patterned Pattern:=msoPatternSmallConfetti
End Sub