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

Форум по вопросам применения и программирования в Visio
Текущее время: 26 авг 2019, 03:12

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Ссылка на шейп на другой странице
СообщениеДобавлено: 15 авг 2012, 14:00 
Не в сети

Зарегистрирован: 21 авг 2012, 10:58
Сообщений: 9
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Здравствуйте, Коллеги.
В справке Visio-2010 есть указание на возможность использования ссылки такого вида: Pages[Страница-3]!Лист.4!BeginX.
Однако, мне не удалось добиться работоспособности такой конструкции: Pages[Страница-1]!Sheet.1!Width.
Можете подсказать как правильно получить значение ячейки с другой страницы (в том числе интересуют и значения из ShapeSheet самой страницы)?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 15 авг 2012, 14:40 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
у меня такая формула работает. во всех версиях от 2003 до 2010
Код:
=Pages[Страница-1]!Sheet.1!Width


в конце главное не надо точку ставить :)


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

Зарегистрирован: 21 авг 2012, 10:58
Сообщений: 9
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
про точку - да, смешно ;)
оказалось несколько иначе:
=Pages[Страница-1]!Sheet.1!Width - не работает (получаю сообщение об ошибке в формуле);
=Pages[Page-1]!Sheet.1!Width - работает;

причем, страница названа именно по-русски.


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

Зарегистрирован: 21 авг 2012, 10:58
Сообщений: 9
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Далее: всё это затевалось для того, чтобы на странице-подложке разместить объект зависимый от основных страниц. подобно текстовому блоку [=PAGENAME()].
Однако, использовать функцию PAGENAME() в составе другой формулы (например, User.Row_1=SETF("Fields.Value[3]","Pages["&PAGENAME()&"]!Sheet.1!Width") или даже в чистом виде, но в не в ячейке текстового поля ( например, User.Row_2=PAGENAME() ) оказалось совершенно бессмысленно - в результате получаем ссылку на объект подложки.
Сталкивались ли вы с подобной задачей?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 17 авг 2012, 10:32 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
Гость писал(а):
про точку - да, смешно ;)
оказалось несколько иначе:
=Pages[Страница-1]!Sheet.1!Width - не работает (получаю сообщение об ошибке в формуле);
=Pages[Page-1]!Sheet.1!Width - работает;

причем, страница названа именно по-русски.

да, вспомнил сталкивался и с такой проблемой. ибо несмотря на то, что визио может быть с русским интерфейсом. визио присваивает свое внутреннее имя странице Page-1, несмотря на то что страница может иметь имя Страница-1


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 17 авг 2012, 10:46 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
Гость писал(а):
Далее: всё это затевалось для того, чтобы на странице-подложке разместить объект зависимый от основных страниц. подобно текстовому блоку [=PAGENAME()].
Однако, использовать функцию PAGENAME() в составе другой формулы (например, User.Row_1=SETF("Fields.Value[3]","Pages["&PAGENAME()&"]!Sheet.1!Width") или даже в чистом виде, но в не в ячейке текстового поля ( например, User.Row_2=PAGENAME() ) оказалось совершенно бессмысленно - в результате получаем ссылку на объект подложки.
Сталкивались ли вы с подобной задачей?

Действительно, в данном случае использовать PageName() безсмысленно ! ибо это будет в данном случае имя текущей страницы-подложки.
какая основная цель преследуется: сделать что-то типа оглавления ?


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

Зарегистрирован: 21 авг 2012, 10:58
Сообщений: 9
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Нет, не оглавление. оглавление наверное можно сделать в макросе перебором всех листов. я это на потом отложил :)
пытаюсь исполнить универсальную для различных форматов листа подложку с рамкой-штампом основной надписи. сейчас для каждого формата основного листа приходится иметь свою подложку, независимо от того, что мастер-рамка_штамп у меня сам подстраивается под габариты листа подложки. хочу, чтобы мастер-рамка_штамп зависел не от того листа, на котором размещен, а от того, на котором отображается.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 17 авг 2012, 11:05 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
а зачем так сложно ? чем плохо иметь рамку-штамп-и-все-такое на самом листе (ForeGround)?


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

Зарегистрирован: 21 авг 2012, 10:58
Сообщений: 9
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
не хочу плодить сущности :)
не хочу контролировать, что проектировщик на одном листе в штампе заменил текстовое поле (например, TheDoc!User.шифр) на свой текст, а на другом листе забыл это сделать.
есть у меня софтинка, которая создает из готовых шаблонов набор файлов (.docx и .vsd) и заполняет им системные и пользовательские свойства. Чем меньше контролируемых сущностей в автоматизации создания проекта, тем лучше :)
оффтопик: а что нужно сделать для того, чтобы избавиться от графического кода подтверждения? зарегистрироваться?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 17 авг 2012, 11:40 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
дык надо заблокировать текстовое поле для редактирования ручками, раз все и так из TheDoc!User.blahblah берется :)

не знаю, что за код подтверждения ! наверно от того, что зареган :)
Присоединяйся нам знающие люди очень нужны !!!


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

Зарегистрирован: 26 дек 2014, 11:03
Сообщений: 12
Использую Visio c: 1994
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
После проведенных эмпирических исследований получилось:
1. При попытке задания полного адреса на текущем листе, типа =Pages[Страница-1]!Sheet.1!Width, "ОООчень" умная программа переделывает его в =Sheet.1!Width (оставить полный адрес, как в экселе не получается).

2. При ссылке на шейп с переделанным именем (Sheet.1 было, а стало ДугаСиняя), синтаксис ДугаСиняя!Width если действие происходит на одной странице.

3. При ссылке на шейп с переделанным именем и переименованной страницей с ДРУГОЙ страницы, правила меняются: Теперь нужно имя страницы писать "переименованное", а вот шейпу указывать родной номер, типа: =Pages[Расфасовка]!Sheet.46!Width

Так вот найти нужного шейпа после переименования - невозможно (я - нигде не нашел).

Visio 2013


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

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

Добавить очки репутацииУменьшить очки репутации
Страница-1 это локальное имя, А Page-1 внутреннее. На vba - это .Name и .NameU. После переименования они одинаковы. Вроде так.
Цитата:
Так вот найти № нужного шейпа после переименования - невозможно (я - нигде не нашел).

Вкладка Разработчик > Имя фигуры. В первой строке появившегося окна. Если вопрос про ID, конечно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 12 дек 2014, 21:06 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
Shishok
ну это ты по-программерски рассуждаешь :)
а тут ветка шейпшит
Гоблин писал(а):
После проведенных эмпирических исследований получилось:
1. При попытке задания полного адреса на текущем листе, типа =Pages[Страница-1]!Sheet.1!Width, "ОООчень" умная программа переделывает его в =Sheet.1!Width (оставить полный адрес, как в экселе не получается).
и что здесь странного. это как при звонке в соседний дом набирать 8 и код города
вставить полный адрес в экселе ? у меня тоже не получается - на странице с указанием имени собственно той же страницы
Гоблин писал(а):
3. При ссылке на шейп с переделанным именем и переименованной страницей с ДРУГОЙ страницы, правила меняются: Теперь нужно имя страницы писать "переименованное", а вот шейпу указывать родной номер, типа: =Pages[Расфасовка]!Sheet.46!Width

Так вот найти нужного шейпа после переименования - невозможно (я - нигде не нашел).
а зачем вообще столько переименований ?


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

Зарегистрирован: 26 дек 2014, 11:03
Сообщений: 12
Использую Visio c: 1994
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok- спс. (правда сам нашел после того как написал :wall: )

Эксель, как раз позволяет делать полные ссылки. И это удобно для переноса, ничего менять не надо. Тут визио тупит и не позволяет перетянуть обьект на др. лист без доработок. А все префиксы после перехода на сотовые сети мы набираем, даже в одной комнате.
И с логичностью у визио трудности, вернее трудности с пониманием его логики у отдельных особей. Но к этому нужно привыкнуть, как и к распознанию слов типа: "дАла, взЯла".

Пост был написан для возможного облегчения пути следом идущих (начинающих путь).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 20 дек 2014, 01:24 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
Гоблин писал(а):
Эксель, как раз позволяет делать полные ссылки. И это удобно для переноса, ничего менять не надо. Тут визио тупит и не позволяет перетянуть обьект на др. лист без доработок. А все префиксы после перехода на сотовые сети мы набираем, даже в одной комнате.
И с логичностью у визио трудности, вернее трудности с пониманием его логики у отдельных особей. Но к этому нужно привыкнуть, как и к распознанию слов типа: "дАла, взЯла".
спасибо за написанный пост от миллионов облегченных идущих дальше!

не совсем понял для каких целей используется перенос. подтверждаю, что визио и эксель как говорят в Одессе - разные разницы. Это как свитер и штаны. Если штаны трудно снять через голову, то это совсем не значит, что штаны это плохо и носить их не нужно.
Эти приложения предназначены для разных целей, каждое имеет свои достоинства, недостатки, ограничения и области применения!


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

Зарегистрирован: 26 дек 2014, 11:03
Сообщений: 12
Использую Visio c: 1994
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Удалите мои записи. Уж больно много мусора они нанесли.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
ну зачем так сразу удалять ? мусора на этом форуме и без этих записей было не мало и они не сильно повлияют на среднюю температуру по больнице
Изображение

не совсем была ясна цель всех этих манипуляций, с переименованиями и их отслеживанием.


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

Зарегистрирован: 26 дек 2014, 11:03
Сообщений: 12
Использую Visio c: 1994
Очков репутации: 0

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

В моём случае, возникают потребности переноса (размножения) шейпа имеющего привязки к данным обьектов на родительском листе на другой лист с оставлением этих самых привязок. А при такой операции в ячейках остаются только цифры и REF().
Пока всё делается ручками (блин).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 25 дек 2014, 21:15 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3626
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Information worker
Уровнь квалификации: Ниже нуля
конечно потеряются привязки. если у тебя идет привязка к номерам ID шейпов. в формуле есть ссылка на некий шейп с ID = 100500.
ты его вставляешь на новый лист, где всего 500 элементов и ах. получаем REF()

если шейп имел какое-то уникальное имя. то ссылка на него не потеряется. если только на листе куда вставляется нет шейпа с таким же именем


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

Зарегистрирован: 26 дек 2014, 11:03
Сообщений: 12
Использую Visio c: 1994
Очков репутации: 0

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

Потому и был развернутый комментарий к формам обращения: чУдное визио меняет правила по нелинейным законам и для указания адреса переименованного шейпа надоть указывать его ID, а никак не уникальное имя, при этом имя листа должно быть текущим! Ну не тянут они за собой имя листА..не нашел я.

В общем если возможно, нужны два действа:
1. Почистить ветку (ну не все разбираться будут, а визио и так своим отсутствием логики и норм. справки отталкивает многих).
2. Совет. Советы нужны. Но тока проверенные.

Если известен вариант переноса шейпа со связями с родной страницы на другую без рукоприкладства - премного благодарен!


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

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



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

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


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

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