All Forums
 Категория Visio
 Форум Вопросы и ответы
 Перенос из Visio 2003 в 2002
Author Previous Topic Topic Next Topic  

holinm

Russia
2 Posts

Posted - 09/01/2005 :  07:08:44
При сохранении документа (*.vsd), созданного в MS Visio 2003, в формате Visio 2002 и последующем открытии этого документа в Visio 2002 все шейпы теряют информацию о том, какие макросы должны быть запущены в случае двойного нажатия на кнопку мыши (Behaviour, DblClick). Подскажите, как побороть сию неприятность.

С уважением,

Михаил

Tumanov

Russia
1198 Posts

Posted - 09/01/2005 :  22:56:35
Пока могу только подтвердить, что такая проблема существует.
Повторил опыт. Результат такой же. В ячейке шейп-листа что-то сидит, но Visio 2002 распознать это не может, то есть не совмещается формат ссылки.
Go to Top of Page

brace

Russia
358 Posts

Posted - 09/02/2005 :  12:01:32

а сервис-паки все стоят ???7

есть SP1 for visio 2003 and SP2 for visio 2002
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 09/02/2005 :  19:02:58
SP1 for Visio 2003 не поможет, SP2 for Visio 2002 - не знаю.
Ситуация следующая.
Visio 2002 и Visio 2003 используют разные функции для запуска макросов по DblClick. Например,
Visio 2003: RUNMACRO("ThisDocument.ttt1")
Visio 2002: RUNADDON("ThisDocument.ttt1")
Когда Visio 2003 сохраняет файл в формате Visio 2002 он оставляет свой вызов (RunMacro). В Visio 2002 такой функции нет, и отсутствующую функцию он даже не собирается показывать в шейп-листе. Показывает пустышку.
Получается что в Visio 2002 уже лечить бесполезно.
Но Visio 2003 знает обе функции. Поэтому, если есть доступ к исходному файлу, то в нем можно преобразовать функции из RunMacro в RunAddon и все будет работать в обеих версиях.
Преобразование можно выполнить, например, таким макросом.

Sub ttt()
Dim sh As Shape
For Each sh In ActiveWindow.Selection
sh.Cells("EventDblClick").Formula = Replace(sh.Cells("EventDblClick").Formula, "RUNMACRO", "RUNADDON")
Next
End Sub

Он просмотрит все селектированные шейпы и заменит функцию. Такой файл уже можно будет сохранять в формате 2002 и читать Visio 2002. У меня работает :)
Go to Top of Page

holinm

Russia
2 Posts

Posted - 09/05/2005 :  07:23:09
Спасибо за совет. Помимо этой обрисовалась еще одна проблема. Custom Properties, чьи label и value написаны на русском языке переносятся из 2003 в 2002 (опять же при сохранении 2003 в формате 2002) в виде знаков вопроса. Предложенные в предыдущих топиках рекомендации по смене ссылки на кодовую страницу 1250.nls и 1252.nls на 1251 уже выполнены. В других программах проблем с русским языком не наблюдается. Можете ли что-то посоветовать для решения этой проблемы?

С уважением,

Михаил
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)