我正在编写visio导出并创建了一个包含自定义行结尾的visio模板文件。当我尝试使用代码设置它们时,它无法正常工作。
//Create two shapes
final IVMaster lApp = stencilObj.masters("Application");
IVShape shapeFrom = pagObj.drop(lApp, 1, 1);
IVShape shapeTo = pagObj.drop(lApp, 2, 3);
//Connect the shapes
final IVMaster connMaster = stencilObj.masters("Connection");
IVShape connection = pagObj.drop(connMaster, 2, 3);
final IVCell gluefrom1 = connection.cells("BeginX");
final IVCell glueat1 = shapeFrom.cells("PinX");
gluefrom1.glueTo(glueat1);
final IVCell gluefrom2 = connection.cells("EndX");
final IVCell glueat2 = shapeTo.cells("PinX");
gluefrom2.glueTo(glueat2);
//Set arrow ending
connection.cellsU("EndArrow").formulaForceU(new Integer(46).toString());
因此在visio中有45个默认行结尾,列表中的第46个是我的。当我设置数字45时它起作用,而数字46则没有。 当我右键单击连接并转到Format-> Line时,选择了正确的行结尾,预览也正确。我必须再次选择结尾,然后单击“申请”以在文档中更新。
我正在使用Visio 2007
答案 0 :(得分:0)
好的,我发现了问题。你需要使用行结尾的全名并用它调用visio函数。
//Set arrow ending
connection.cellsU("EndArrow").formula("=USE(\"46: interface_in\")");