Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 23 ноя 2017, 20:45

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Примечания из 2010 в 2013
СообщениеДобавлено: 08 авг 2017, 15:27 
Доброго времени суток, уважаемые.
Примечания, которые видны на своих местах в схеме в визио 2007 и 2010, вдруг удивительным образом отсутствуют на схеме в визио 2013.

Вопрос: как их (эти примечания) увидеть на своих законных местах в визио 2013?

Спасибо.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Примечания из 2010 в 2013
СообщениеДобавлено: 08 авг 2017, 16:26 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 990
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Чувствую, этот вопрос подлежит исследованию :)
Как я понял после быстрого просмотра, в Visio 2007 примечания не были связаны с шейпами. Они относились к странице.
В Visio 2013 примечания связываются с шейпами. (Или могут быть связаны). То есть изменилась структура хранения примечаний.
При конвертировании документа старые примечания прицепить некуда, поэтому они болтаются в углу страницы.
Мне как-то ранее не приходилось заниматься этим вопросом. Нужно будет порыться в интернете. Возможно, искать не на слово Comment, а на слово Annotation.
Если ничего не будет найдено, то скорее всего можно будет придумать программную коррекцию (если это действительно важно). То есть сначала сосканировать примечания в системе Visio 2007, потом правильно позиционировать их в Visio 2013. Естественно, из-за десятка примечаний связываться с этим смысла нет, проще руками переместить.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Примечания из 2010 в 2013
СообщениеДобавлено: 08 авг 2017, 16:48 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 990
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Порылся в файлах... В новой системе у комментариев нигде нет такого атрибута, как координаты.
Зато появляется идентификатор шейпа (к которому комментарий привязан).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Примечания из 2010 в 2013
СообщениеДобавлено: 08 авг 2017, 17:35 
Спасибо!
Примечаний пара сотен. Не проблема - переделаем ручками.
Главное было определиться - это руки кривые :wall: или так было задумано :twisted:


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Примечания из 2010 в 2013
СообщениеДобавлено: 08 авг 2017, 19:46 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 990
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Я между делом посмотрел, как это выглядело бы программно...
Первая часть простая.
Если сделать вот такой VBS файлик и запускать его на машине, где стоит Visio 2007, то он выберет все комментарии и упакует их в ячейку Data3 документа.
Код:
On Error Resume Next
Err.Clear
Set vApp = GetObject(,"Visio.Application")
If Err.Number > 0 Then
   MsgBox "Visio is not opened"
Else
   On Error Goto 0
   s = ""
   For Each pg In vApp.ActiveDocument.Pages
       s = s & "<Page>"
       n = pg.PageSheet.RowCount(246)
       If n > 0 Then
           s = s & "<Comments>"
           For i = 0 To n - 1
               With pg.PageSheet
                   s = s & "<Comment>"
                   s = s & "<X>" & .CellsSRC(246, i, 0) & "</X>"
                   s = s & "<Y>" & .CellsSRC(246, i, 1) & "</Y>"
                   s = s & "<Date>" & .CellsSRC(246, i, 4) & "</Date>"
                   s = s & "<Text>" & .CellsSRC(246, i, 5).Formula & "</Text>"
                   s = s & "</Comment>"
               End With
           Next
       End If
       s = s & "</Page>"
   Next
   vApp.ActiveDocument.DocumentSheet.Data3 = s
   vApp.ActiveDocument.Save
   MsgBox s
End If

Потом, уже под Visio 2013 нужно другим скриптом проделать обратную операцию. Но тут уже алгоритм неоднозначен и мои опыты кончились :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB