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

Форум по вопросам применения и программирования в Visio
Текущее время: 24 мар 2019, 15:14

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !



Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:18 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Пояснения к моему решению:
EventDrop создает на приемной странице ячейку User.PN и вписывает туда формулу PageNumber()
Scratch.A1 составляет формулу для Scratch.D1, чтобы она принимала данные из User.PN приемной страницы. При этом имя приемной страницы берется из SubAddress от гиперлинка.
Текстовое поле ссылается на Scratch.D1.
-------
По поводу "вырезать"...
Ссылка в передатчике формируется на страницу! Не на шейп. И то, что мы вырезаем шейп и переносим его на другую страницу может только создать новую связь, но никак не повлияет на старую. Для таких операций нужно придумывать другой механизм.


Вложения:
comments.gif
comments.gif [ 21.83 Кб | Просмотров: 104 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:25 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Единственный нюанс, е выполняется пожелание ...

Ну здрасте...
А у меня выполняется. Это Visio 2007. Вставляю страницы в промежуток - текст в ссылках изменяется.
Может быть только в каких-то случаях не сразу...? Это нужно уточнить. Возможно не все операции приводят к немедленному пересчету формул. Но уж при переходах или при загрузке точно должны пересчитаться.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:32 
Не в сети
Новичок

Зарегистрирован: 24 авг 2016, 22:21
Сообщений: 48
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Цитата:
Единственный нюанс, е выполняется пожелание ...

Ну здрасте...
А у меня выполняется. Это Visio 2007. Вставляю страницы в промежуток - текст в ссылках изменяется.
Может быть только в каких-то случаях не сразу...? Это нужно уточнить. Возможно не все операции приводят к немедленному пересчету формул. Но уж при переходах или при загрузке точно должны пересчитаться.

Подтверждаю. В 2010-м все великолепно обновляется. Испытано и в варианте "много-много ссылок" в документе


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:33 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Немного потестировал, вставлял-удалял страницы. Вроде бы пересчитывается сразу. Другой ситуации пока не попалось. Но теоретически скорее всго задержка возможна.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:36 
Не в сети
Новичок

Зарегистрирован: 24 авг 2016, 22:21
Сообщений: 48
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
По поводу "вырезать"...

Если по вырезанному так называемому "обратному" шейпу даблкликнуть, то произойдет переход на страницу "прямого" шейпа и в нем исправится текст как надо.
Но, блин, не перекликивать же все ссылки)))
В любом случае, огромное спасибо, еще знаний подсыпали. Буду посмотреть.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:43 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Кстати, еще один довод в пользу макроса...
В процессе работы шаловливые ручки могут смахнуть со страницы нужный шейп, сдублировать или еще как-то нарушить связи. То есть испортить структуру.
А если есть макрос, то на него дополнительно можно возложить задачу верификации связей. Просмотрит, чтобы ссылки были всегда парными и 1:1, не было обрубленных хвостов.
Выполнять можно, например, перед завершением работы, или при открытии файла, или при нажатии специальной кнопки. Верификация вообще полезна в сложных, многократно редактируемых документах.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:48 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
...не перекликивать же все ссылки...

Надо подумать, нельзя ли натравить макрос на эту операцию.
То есть в основном будут работать формулы, а макрос иногда может добавочно проконтролировать или "освежить".


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 15:56 
Tumanov писал(а):
Ну здрасте...
А у меня выполняется. Это Visio 2007.
это я пишу не в плане критики, а объективности ради
Изображение
на моей стороне с более модной версией визио это не так ! Ну раз is308, писал что с 2010 версией тоже все хорошо !
Значит тема раскрыта чуть более, чем полностью !


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос по ссылкам
СообщениеДобавлено: 27 дек 2018, 17:02 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Вот это я и называю ненадежностью :)
Проверил в Visio 2013. При показанной выше операции формулы не пересчитываются. То есть, они правильны, но чтобы значения изменились, формула должна выполниться.
Добавил макрос
Код:
Sub ttt()
    For Each Pg In ActiveDocument.Pages
    For Each shp In Pg.Shapes
        If shp.CellExists("Scratch.A1", 0) Then
            shp.Cells("Scratch.A1").Formula = shp.Cells("Scratch.A1").Formula
        End If
    Next shp
    Next Pg
End Sub

Если теперь после любых удалений-добавлений страниц выполнить этот макрос, то все значения сразу приходят в норму.
То есть перезаписи формулы достаточно, чтобы инициировать ее пересчет.


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

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



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

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


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

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