2012-08-28 68 views
2

我想突出显示Shape对象的连接器,但它不会为连接器本身提供任何LineStyle属性。这是我走到这一步:更改连接器样式

For i = 0 To UBound(lngShapeIDs) 
     Dim shp As Shape 

     Dim connect As connect 
     Set shp = ActivePage.Shapes.ItemFromID(lngShapeIDs(i)) 
     shp.LineStyle = "Guide" 
     shp.BringToFront 
     Set connect = shp.FromConnects.Item(i + 1) 
    Next 
+0

你能否详细说明你想设置什么特定的线条样式属性?知道这将有助于指导答案。 – saveenr

+0

我想a)设置连接器的线条颜色,并b)将它带到前面。与Shape对象相同,但是用于连接。我实际上会假设连接器是Shape类型的,因为它只是一条线 - 显然它不是。 – Alex

回答

3

根据您的意见,这是我认为你正在寻找

Dim shape As shape 
For Each shape In ActivePage.Shapes 
    If (shape.OneD <> 0) Then 
     shape.CellsU("LineColor").Formula = "rgb(255,0,0)" 
     shape.BringToFront 
    End If 
Next 

此示例枚举通过在页面中的所有形状。它假定和“一维”形状是需要修改的连接器。对于这些连接器,它们的线条颜色被设置为红色,并且它们每个都被置于前面。

所以,如果这是图纸的初始状态:

enter image description here

然后运行VBA代码后,图纸看起来就像这样:

enter image description here

+0

感谢您的回答,这肯定有效 - 我的问题是,我没有连接器作为形状,但作为连接对象。不幸的是,他们没有LineColor。 – Alex

+0

感谢您的回答,关于这些东西的文档真的非常罕见且结构不合理 – ubugnu