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

Visio : How to change the position of a shape?

我想改变物体的X位置element.CellSRC 这是将 X 设置为 0.1 的代码,但我想将 X 从它的位置移动,而不仅仅是将 X 设置为绝对位置。

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

你知道怎么做吗?非常感谢您

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

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

然后设置新值:

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

(我不是 100% 掌握 VBA 语法,但应该可以帮助您)

由于 Paul Herber 的回答,它起作用了,但我只需要修改 2 行代码:

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

你可以按照其他答案所说的那样做,尽管你会设置公式或 formulaforceu 而不是结果。 VBA 可怕的地方是你必须在设置公式时将其格式化为美国十进制表示,否则它会在具有不同十进制表示的国家/地区出现不良行为。我不记得了。所以小数总是有句点小数点分隔符。

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