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

Форум по вопросам применения и программирования в Visio
Текущее время: 19 фев 2018, 14:09

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Проблема: шейп который всегда остеться с лева от линии
СообщениеДобавлено: 22 авг 2017, 14:55 
Не в сети

Зарегистрирован: 22 авг 2017, 08:58
Сообщений: 3
Использую Visio c: 2007
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Всем доброго времени суток!

Помогите пожалуйста разобраться с задачей.

Необходимо сделать шейп Sheet.25 (квадрат), который всегда остаеться с лева от линии Sheet.24. формулу я уже написал. Она работет.

Код:
=IF(PinX+Width>Sheet.24!EndX-5 mm,SETF(GetRef(PinX),ABS(Sheet.24!EndX-Width-15 mm)),0)


только есть она проблема: если переместить квадрат силно в лево, так что холст автоматически
увеличевается, а потом переместить квадрат обратно в право на старое место, координата PinX квадрата становится отрецательной и квадрат полностью уходит из поля зрения.

принмер на нижеследующей картинке↓

Изображение
Изображение
Изображение
Изображение


Вложения:
Комментарий к файлу: отрецательный PinX квадрата
Negative.PinX.vsd [1.62 Mб]
Скачиваний: 13
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Проблема: шейп который всегда остеться с лева от линии
СообщениеДобавлено: 22 авг 2017, 15:10 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 467
Использую Visio c: 2008
Очков репутации: 98

Добавить очки репутацииУменьшить очки репутации
Ну так отключи Автоподбор размера. На вкладке Конструктор. Это первое что приходит на ум.


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

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Проблема: шейп который всегда остеться с лева от линии
СообщениеДобавлено: 22 авг 2017, 16:35 
Tumanov писал(а):
Второй вариант - попробовать отвязаться от координат листа. Пусть они меняются, но не влияют на координаты шейпов. Сменить систему координат.
В Visio есть функции для пересчета координат из листа в шейп, из одного шейпа в другой и т.д. Попробовать этим воспользоваться.
Конкретный путь, воплощение зависит от содержимого рисунка.


@Tumanov: Поскажите, какие функции для пересчета координат из листа в шейп есть В Visio. с чего начать поиск? что искать? мой стаж с Visio всего неделя, может у вас пример какой есть?

VisDom


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

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

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


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

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
какие функции для пересчета координат из листа в шейп есть В Visio

LocToLoc, LocToPar, Loc
Но прежде, чем советовать или искать пример, хотелось бы знать цель. Что у Вас будет нарисовано и какого эффекта Вы хотите добиться? Типа, весь рисунок о чем?
Может быть простой группировки будет достаточно.


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

Зарегистрирован: 22 авг 2017, 08:58
Сообщений: 3
Использую Visio c: 2007
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Solution:

Код:
=IF(PinX+Width>Sheet.24!EndX-5 mm,SETF(GetRef(PinX),"Sheet.24!EndX-Width-15 mm"),0)


Problem solved! :)


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

Зарегистрирован: 22 авг 2017, 08:58
Сообщений: 3
Использую Visio c: 2007
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
@Tumanov: wes resunok wigledit wot tak:


Вложения:
WholePic.png
WholePic.png [ 5.91 Кб | Просмотров: 142 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Проблема: шейп который всегда остеться с лева от линии
СообщениеДобавлено: 22 авг 2017, 17:01 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Problem solved! :)

И все равно как-то не очень красиво


Вложения:
ttt.gif
ttt.gif [ 147.74 Кб | Просмотров: 135 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Проблема: шейп который всегда остеться с лева от линии
СообщениеДобавлено: 22 авг 2017, 17:47 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Возможно, более естественным вариантом будет формула
PinX=BOUND(5 mm,0,FALSE,Sheet.24!EndX-Width*2,Sheet.24!EndX-Width-5 mm)
(или нечто похожее).
В этом случае просто устанавливается диапазон возможного изменения PinX вместо эпизодической корректировки формулы или значения в этой ячейке.


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

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



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

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 3


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

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