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

Форум по вопросам применения и программирования в Visio
Текущее время: 23 сен 2019, 21:29

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


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


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



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

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


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

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

Добавить очки репутацииУменьшить очки репутации
Вот файл.
Хотелка внутри.


Вложения:
др стр.vsdx [15.13 Кб]
Скачиваний: 46
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 26 дек 2014, 11:15 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
Гоблин, добро пожаловать на форум в качестве пользователя Изображение
сохрани пожалуйства в формате визио 2010 или более раннем формате. ибо я не могу в vsdx файл посмотреть :(


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
ладно можешь не переводить. посмотрел содержимое файла прогой xmlPad.

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

скорее всего все дело в том что у шейпов и страниц есть две сущности Name и NameU. Визио работает с NameU, а пользователи через шейпшит доступно лишь Name


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

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

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

Любое решение принимается. Как добраться до NameU? В том числе и листового.


Вложения:
др стр.vsd [26.5 Кб]
Скачиваний: 87
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ссылка на шейп на другой странице
СообщениеДобавлено: 26 дек 2014, 12:13 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
IMHO через шейп шит никак, только VBA.
даю пруф
Visio Team 27 Jul 2006 в Name and NameU писал(а):
The local name is a friendly name that is displayed in the Visio user interface. For Visio’s own content, this is a string translated for the product sku of Visio (i.e. German strings in German Visio). Users have the ability to rename Page and Master and Cell objects, and that changes the local name. Local names allow users to see things in a language that makes sense to them.

The universal name is hidden from the user interface and can only be updated through automation. This keeps a universal name consistent across product versions and user edits. A constant name allows solution developers to refer to objects by an identifier that makes sense to them. This identifier works no matter what is displayed for the local name.

Подробнее…


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

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

Добавить очки репутацииУменьшить очки репутации
Может менять ничего не надо. Достаточно выяснить это NameU и обращаться к нему, как к универсальному?

Как это сделать? ВБА - для меня препятствие :? . Кто знает, как выяснить и как (на всякий случай) заменить?

Если конечно такое обращение можно создать..


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

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


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
совсем необязательно что-то программировать самому и быть дичайшим кодером!
для твоей задачи достаточно.
1. Открыть редактрор VBA нажав Alt+F11
2. В редакторе в окне Immediate (вызывается сочетанием Ctrl+G), это окно
обычно располагается внизу окна.
если хочешь узнать универсальное имя шейпа пишешь в этом окне
Код:
?ActiveWindow.Selection(1).NameU
если хочешь изменить универсальное имя шейпа пишешь в этом окне
Код:
ActiveWindow.Selection(1).NameU = "чё тебе надо"


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

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

Добавить очки репутацииУменьшить очки репутации
Моя религия позволяет всё, есть только трудности конкретного индивидума.
За ликбез спасибо.;)

NameU и Name могут быть разными, но это имена листа а не книги! Это ничем помочь в универсальности ссылки не может.

пока вариантов не вижу.....


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

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


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

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

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


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

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


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

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 914
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 121

Добавить очки репутацииУменьшить очки репутации
ссылка в зависимом шейпе должна быть такого вида:
Pages[Page-1]!Sheet.1!Width
или
SETATREF(Pages[Page-1]!Sheet.1!Width)
тогда связи между страницами работают. но все равно при копировании связи пропадают.
если бы мне нужны были зависимости по документу, я б использовал "Набор элементов документа", поместил бы туда основной шейп как мастер, накопировал оттуда по страницам. теперь при изменении мастера в этом наборе документа все шейпы изменятся также.

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


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

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

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

Думал об этом. НЕ додумал. Буду думать дальше.
Петляя в подходах ;))


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

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Любое решение принимается. Как добраться до NameU? В том числе и листового.

Функция PageName(0) - локальное имя страницы.
Функция PageName(750) - универсальное имя страницы.

Функция Name(0) - локальное имя шейпа.
Функция Name(750) - универсальное имя шейпа.

Не знаю, помогут ли эти сведения :roll:.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
спасибо! за 750 я не знал


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
1. выделяем сначала шейп образец, потом тот что надо под него подогнать
2. открываем vba Alt+F11
3. в нем жмем Ctrl+G
4. внизу видишь окно Immediate
вставляем туды формулу
Код:
ActiveWindow.Selection(2).cells("width").formulau = "sheet." & ActiveWindow.Selection(1).ID & "!width" : ActiveWindow.Selection(2).cells("Comment").formulau = chr(34) & "pages[" & ActiveWindow.Page.NameU & "]!sheet." & ActiveWindow.Selection(1).ID & "!width" & chr(34): ActiveWindow.Selection(2).cells("eventdrop").formulau = "setf(getref(width),trim(comment))"

5. ставим курсор в конце этой длинной строки и жмем Enter
в итоге получаем то, что хотел пользователь Гоблин. в теле документа никаких макросов не остается Изображение


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

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

Добавить очки репутацииУменьшить очки репутации
Спс за уже написанное. Но Гоблин хочет ещё немного варенья: тот же код, для шейпов с разных страниц! Сам не может. Не может даже правильно спросить PageName(0) :cry:

Всех с уже (еще до 15го продержаться..) наступившим! Успехов!


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3685
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
та нет таки ничего прощеИзображение. если хотим сослаться на шейп с другой страницы
0. для простоты, чтоб не морочиться с лишними окнами необходимо чтоб был открыт один документ визио
1. добавляем таки еще одно окно
Изображение
2. Жмем кнопку упорядочить окна
Изображение
3. В Окне:1 открываем лист откуда собираемся считывать данные шейпа и выделяем собственно интересующий шейп.
в Окне:2 открываем лист куда мы хотим загнать необходимые данные и выделяем шейп куда данные вгоняем
Изображение
собственно на данном скриншоте мы подгоняем длину треугольника на листе 2 под размеры круга на листе Страница-1
4. Открываем окно редактора VBA клавишами Alt+F11
5. в нем жмем Ctrl+G
6. вставляем в окне Immediate вставляем формулу Windows(2).Selection(1).cells("width").FormulaU = "pages[" & Windows(1).Page.NameU & "]!sheet." & Windows(1).Selection(1).ID & "!width",
жмем Enter
7. При необходимости переноса данных для следующих фигур, повторяем пункты 3 и 6.

!
Перед сохранением файла обязательно закрыть Окно:2

PS гулять до 15 это сильно Изображение, не уверен что я таки до 12го таки доживу Изображение


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

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



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

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


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

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