
Я могу получить доступ к столбцам X и Y с помощью следующего кода:
Код: Выделить всё
var offsetX = shape.CellsSRC[s, r, (short)Visio.VisCellIndices.visX].ResultIU;
var offsetY = shape.CellsSRC[s, r, (short)Visio.VisCellIndices.visY].ResultIU;
ОБНОВЛЕНИЕ (фрагмент кода о том, как я пытаюсь перевести предложение Джона:
Код: Выделить всё
var firstComponent = (short)Visio.VisSectionIndices.visSectionFirstComponent;
var selection = Globals.ThisAddIn.Application.ActivePage.CreateSelection(VisSelectionTypes.visSelTypeByLayer, VisSelectMode.visSelModeSkipSuper, Globals.ThisAddIn.Application.ActivePage.Layers.ItemU[areaLayer]);
foreach (Visio.Shape shape in selection)
{
for (short s = firstComponent; s < firstComponent + shape.GeometryCount; s++)
{
var geoSection = shape.Section[s];
for (short r = 1; r < geoSection.Count - 1; r++) // First and last point is always the same
{
var pointType = shape.RowType[s, r];
var pointTyp = Enum.GetName(typeof(Visio.VisRowTags),pointType);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/521 ... ometry-row
Мобильная версия