a:箭头形状ooxl的avLst值

时间:2014-05-20 20:45:01

标签: xml powerpoint openxml

我正在一个正在创建形状的项目中工作。想象一下,我们正在翻译一个X工具,您可以在其中创建与PP类似的形状,然后您可以从该工具导出到pptx文件。

到目前为止,我们正在创造非常相似的形状。尺寸,格式,颜色等等我唯一的问题是,对于箭头形状,箭头并不完全正确。所以,我需要使用a:avLst值“玩”。因此,形成工具我可以知道头部高度,我需要将其转换为适当的:

<a:gd name="adj1" fmla="val ??????"/>
<a:gd name="adj2" fmla="val ??????"/>

有谁知道如何计算那些?????值? 我知道adj1是箭头宽度,adj2是“头部高度”。而且我也知道你需要设置两者(虽然对我来说adj2是重要的)。

所以,总结一下,假设我想创建一个带有1英寸头的向下箭头。 哪个

<a:gd name="adj1" fmla="val ??????"/>
<a:gd name="adj2" fmla="val ??????"/>
我应该设置吗?

我真的很感谢你的帮助! 提前致谢

1 个答案:

答案 0 :(得分:1)

箭头宽度的逻辑似乎是:

LengthOfArrowhead = Adjustments(2)* WidthOfShape

因此,如果箭头形状为1&#34; (72分)宽和调整(2)= 1,然后箭头将是1&#34;长。如果调整(2)= .5,则箭头将为.5&#34;等等。

长度,我指的是从箭头点到箭头另一端的距离。箭头的宽度由形状的宽度控制。

通过在PowerPoint本身中使用VBA来解决这个问题,可以更简单地计算出逻辑。例如,您可以将其粘贴到IDE中的代码模块中并直接运行它:

Sub Adj2()
    With ActiveWindow.Selection.ShapeRange(1)
        Debug.Print .Adjustments(1)
        Debug.Print .Adjustments(2)
        .Width = 1 * 72
        .Adjustments(2) = 1
    End With
End Sub