Visio:如何更改形状的位置?

时间:2019-08-20 13:27:41

标签: vba visio

我想更改对象元素的位置X。 这是将X设置为0.1的代码,但我想将X从其位置移开,而不仅仅是将X设置为绝对位置。

element.CellsSRC(visSectionObject, visRowXFormOut, visXFormPinX).FormulaForceU = "0.1 in"

您知道该怎么做吗?预先非常感谢

3 个答案:

答案 0 :(得分:1)

您需要获取以英寸为单位的值并将其添加0.1:

float value = element.CellsSRC(visSectionObject, visRowXFormOut, visXFormPinX).Result["in"] + 0.1;

然后设置新值:

element.CellsSRC(visSectionObject, visRowXFormOut, visXFormPinX).Result["in"] = value;

(我不是100%使用VBA语法,但这应该可以帮助您)

答案 1 :(得分:0)

它的工作得益于Paul Herber的回答,但是我只需要修改两行代码:

 Value = element.CellsSRC(visSectionObject, visRowXFormOut, visXFormPinX).result("in") + 0.1
element.CellsSRC(visSectionObject, visRowXFormOut, visXFormPinX).result("in") = Value

答案 2 :(得分:0)

您可以按照其他答案的说明进行操作,尽管您可以设置公式或Formulaforceu而不是结果。 VBA的最糟糕的部分是您在设置公式时必须将其格式化为美国十进制表示形式,否则在使用不同十进制表示形式的国家中,它将具有不良的行为。我不记得了因此,小数总是有句点小数点分隔符。

无论如何,您还可以使用Selection方法,以编程方式选择形状,然后调用ActiveWindow.Selection.Move x,y