У меня есть модуль, который создает файл Visio (VDX) вне Visio. Согласно SDK это относится к «ненадежному» XML.
Я создал свой xml-файл, скопировав Мастера из моего трафарета, а затем сослался на них с помощью разреженного XML-файла.
В своем разреженном XML-файле я переопределяю расположение и размер фигуры следующим образом:
<Shape ID="154" Master="0">
<Text>Text of the shape</Text>
<XForm>
<PinX>2.90625</PinX>
<PinY>3.895833333333333</PinY>
<Width F="No Formula">0.75</Width>
<Height F="No Formula">0.5</Height>
</XForm>
</Shape>
Моя фигура - это группа, которая имеет подформы.
Работает, Visio умеет его открывать, но у подвидов есть ширина и высота мастера по умолчанию.
Также связи между фигурами не проходят должным образом.
Если я скопирую / вставлю в тот же новый файл, то получу ожидаемый результат.
Я попытался изменить ширину и высоту подформ. У меня та же проблема.
Я пытался использовать код VBA при открытии документа, явно вызвав метод trigger () класса Cell, и я получил ожидаемые результаты.
Это также работает, я открываю форму листа. Значение там черным, я просто нажимаю клавишу ввода в ячейке и получаю ожидаемый результат.
Мое понимание проблемы заключается в том, что Visio не оценивает формулы моих подформ, когда я открываю документ.
К сожалению, я не могу полагаться на макросы для принудительного обновления и обновления ячеек. Я хотел бы знать, есть ли способ принудительно пересмотреть формулы моих подформ, когда я открываю свой документ.
Заранее спасибо.
Эрик