Author |
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 распознать это не может, то есть не совмещается формат ссылки. |
|
|
brace
Russia
358 Posts |
Posted - 09/02/2005 : 12:01:32
|
а сервис-паки все стоят ???7
есть SP1 for visio 2003 and SP2 for visio 2002 |
|
|
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. У меня работает :) |
|
|
holinm
Russia
2 Posts |
Posted - 09/05/2005 : 07:23:09
|
Спасибо за совет. Помимо этой обрисовалась еще одна проблема. Custom Properties, чьи label и value написаны на русском языке переносятся из 2003 в 2002 (опять же при сохранении 2003 в формате 2002) в виде знаков вопроса. Предложенные в предыдущих топиках рекомендации по смене ссылки на кодовую страницу 1250.nls и 1252.nls на 1251 уже выполнены. В других программах проблем с русским языком не наблюдается. Можете ли что-то посоветовать для решения этой проблемы?
С уважением,
Михаил |
|
|
|
Topic |
|
|
|