Решение проблемы с курсором в MS Visio 2007

Приветствую, в этой статье я хотел бы рассказать о решении проблемы с неправильной работой стрелок (arrow keys) в Microsoft Visio 2007.
Сразу оговорюсь, то решение проблемы было найдено не мною. Я нашел его на форуме ru-board. Суть проблемы заключается в том, что в шаблонах, поставляемых с русским Visio 2007, в свойствах стилей некорректно установлен флаг, отвечающий за направление движения курсора.

Далее прилагаю немного дополненную инструкцию (оригинал можно найти, пройдя по ссылке, указанной выше), с помощью которой можно самому исправить эту проблему.

  1. Открываем исходные файл шаблонов — это файлы с расширением VST. Они находятся в папке Office 2007/Office12/1049.
  2. Сохраняем файлы с фигурами в формате XML (XML–шаблон) — это файлы с расширением VTX. Важно именовать XML-файлы теми же именами, что были у исходных шаблонов.
  3. Далее, с помощью XML-редактора (я использовал Altova XMLSpy, в инструкции использовался MS XML Notepad 2007) открываем сохраненные ранее XML-шаблоны.
  4. Жмем Ctrl+H (ну или «Find & Replace«, если кому-то так удобнее). В поле Find what вводим «<Flags>1</Flags>«, а в поле Replace With — «<Flags>0</Flags>«. После нажимаем на кнопку Replace All и сохраняем получившийся результат.
  5. Открываем исправленный XML-шаблон в Visio и сохраняем их как шаблоны – это файлы с расширением VST. Важно называть новые шаблоны теми же именами, что были и у исходных шаблонов, которые мы правили.
  6. Полученные шаблоны копируем с заменой в папку, из которой мы извлекали их в начале — Office 2007/Office12/1049.

Важно! Ниже приведен код макроса, исправляющий проблему с поведением курсора в файлах, построенных на основе шаблонов с ошибкой. Решение, опять же, не мое. Решение также было найдено на форуме ru-board.

Sub Cursor()
On Error Resume Next
Dim Counter
For Counter = 1 To Application.ActiveWindow.Page.Shapes.Count Application.ActiveWindow.Page.Shapes.Item(Counter).OpenSheetWindow
Application.ActiveWindow.Shape.CellsSRC(visSectionParagraph, 0, visFlags).FormulaU = 0
Application.ActiveWindow.Close
Next Counter

MsgBox «Done»

End Sub

Теперь самое главное :)
Я уже проделал всю эту скучную и однообразную работу. Поэтому могу поделиться готовыми к использованию исправленными шаблонами (просто напишите мне на электронную почту: escapedslippers -at- gmail.com). К сожалению, по непонятным мне пока причинам, некоторые шаблоны открываются с ошибками. И поэтому к ним приложены исходные версии шаблонов (с меткой old). И так, сейчас у меня в наличии следующие файлы:

  1. Исходные версии шаблонов (VST).
  2. Неисправленные версии XML–шаблонов (VTX).
  3. Исправленные версии XML–шаблонов (VTX).
  4. Исправленные версии шаблонов (VST).

Замечания и дополнения приветствуются.

Исправленные версии шаблонов (VST) можно найти на ifolder.ru. Замечания и дополнения приветствуются.

P.S. Аналогичным образом решается проблема в работе курсора при открытии наборов фигур. Только на втором этапе вместо сохранения в формате «XML-шаблон (VTX)» стоит сохранять в формате «XML-набор элементов (VSX)», а на пятом этапе сохраняем эти файлы как «Набор элементов (VSS)».
Исправленные версии наборов фигур (VSS) также можно найти на ifolder.ru. Замечания и дополнения приветствуются.


About this entry