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

Форум по вопросам применения и программирования в Visio
Текущее время: 19 мар 2024, 13:19

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


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


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

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



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

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

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

Также может быть полезно почитать написанное в ветке: там есть специальный файл эксель позволяющий сформировать ссылку и видео с описанием работы с данным файлом


Последний раз редактировалось Surrogate 26 сен 2019, 10:54, всего редактировалось 1 раз.

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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
Для вставки значений в TheDoc!User у меня должна быть в Excel открыта книга и лист с моей базой?
ну это как вариант, можно программно запустить эксель, открыть нужную книгу. я просто привел самый краткий пример переноса значений из определенного места в определенной книге.
Gnomych писал(а):
По ходу мы в EW переписываем значения из активного листа (опа, нет, открытой книги), потом в TheDoc вставляем значения из EW ссылаясь на нужный лист и ячейку.
EW просто переменная (Excel Workbook) типа Object, мы в нее ничего не переписываем. здесь используется позднее связывание (для простоты), при раннем тебе нужно подключить в VBA проекте нужную библиотеку с установленной у тебя версией Excel !
Gnomych писал(а):
как не открывая книгу в Excel подхватить файл по заранее известному пути?
что значит подхватить ?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

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

Что то с кодом у меня не выходит.
Код:
Public Sub insert_base()
Public EA As Object, EW As Object 'может тут не правильно определение сделано? Ставлю Dim пропускает на Pablic ругается
Set EA = GetObject(, "Excel.Application")
Set EW = EA.Activeworkbook
ActiveDocument.DocumentSheet.Cells("user.author").FormulaU = Chr(34) & EW.Sheets(1).Cells(1, 1) & Chr(34) ' при Dim ругается на имя
ActiveDocument.DocumentSheet.Cells("user.utv").FormulaU = Chr(34) & EW.Sheets(1).Cells(1, 2) & Chr(34)
End Sub


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
а зачем там Public ?
Код:
Sub insert_base()
dim EA As Object, EW As Objec

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
а зачем там Public ?
Код:
Sub insert_base()
dim EA As Object, EW As Objec

У тебя так было, я исправил на Dim
Код:
ActiveDocument.DocumentSheet.Cells("user.author").FormulaU = Chr(34) & EW.Sheets(1).Cells(1, 1) & Chr(34) ' при Dim ругается на имя


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
У тебя так было
да, точно ! виноват :wall:
на какое имя ругается то ? эксель открытый есть. книга активная есть ! один листок точно должен быть. то что в ячейке A1 пусто это по фиг.
а вот в свойствах документа есть свойство TheDoc!user.author ?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
В том то и дело, что в окне Watches я вижу значение которое на данный момент находится в TheDoc!user.author , а вот дальше белиберда полная. Я вот думаю может оно отвергать имя с кавычками и на русском языке в ячейке Excel? Например ООО "Рога&Копыта".


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
Я вот думаю может оно отвергать имя с кавычками и на русском языке в ячейке Excel? Например ООО "Рога&Копыта".
это да, кавычки ему не нравятся ! я их обычно на такие меняю «»

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Gnomych писал(а):
Я вот думаю может оно отвергать имя с кавычками и на русском языке в ячейке Excel? Например ООО "Рога&Копыта".
это да, кавычки ему не нравятся ! я их обычно на такие меняю «»

Блин мне именно такие и нужны :D просто всё на коленке и бегом. Дома попробую.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
Блин мне именно такие и нужны
попробуй так
Код:
ActiveDocument.DocumentSheet.Cells("user.author").FormulaU = Chr(34) & Replace(Replace(EW.Sheets(1).Cells(1, 1) , " """, " «"), Chr(34), "»") & Chr(34)

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Только пришел. Попробую, я так понимаю ты предлагаешь программно заменить одно на другое.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
ты предлагаешь программно заменить одно на другое.
Ну если у тебя есть желание, можно сесть и в Excel это ручками прописать.
Но только Excel, в отличии от Word или Visio таких кавычек автоматом не проставляет ! тема с подобными кавычками недавно поднималась
Hamit в сообщении # писал(а):
одно из полей данных фигуры заполняется так:
Код:
.Cells("Prop.ШПД_Клиент.Value").Formula = Chr(34) & ClientNameTextBox.Value & Chr(34)

однако если в поле ClientNameTextBox.Value ввести, к примеру ОАО "Пупкин", то возникает ошибка.
Геннадий, правда там настаивает на замене на вариант
Код:
Replace(string, Chr(34), Chr(34)&Chr(34))
В моей практике был случай, предстоял экстренный выпуск исполнительной документации на около 1800 узлов связи. Комплект документации каждого узла включал в себя документ содержащий 7 схем и два текстовых документа в формате MS Word. Исходная информация для разработки содержалась в книге MS Excel.

По самым оптимистическим прогнозам нашего Заказчика под эту задачу предполагалось использовать трех сотрудников со 100% нагрузкой в течении трех месяцев.

Сразу было понятно, что прогноз слабо реализуем, т.к. исходная информация в книге постоянно уточнялась и изменялась.

Я запускаю макрос надеюсь он сгенерит мне все это Изображение через пол часа вылетает ошибка, как ты описывал ! я сначала думал мой код забил всю оперативку компьютера. оказалось дело было в этих кавычках. прикол в том, что я до этого с утра пробежался по таблице и автозаменой заменил один тип кавычек на другие. но нам от смежников присылали уточненные данные по несколько раз в день, очень сложно было отловить что в нескольких ячейках из диапазона 1864 строк и 50 столбцов неожиданно появились значения типа - ТК-7040, около трактира "Матрёшка".
когда я добавил строку с заменой кавычек на "ёлочки" жить стало веселей !

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Геннадий, правда там настаивает на замене на вариант...

Это не я, это Microsoft предлагает!
Во всех версиях SDK присутствует минимальный набор примеров, где есть функции "закавычивания" и "раскавычивания".


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Работает только если рамка бросалась на страницу первой!

Не могу найти этот шаблон штампа, масса штампов, но вот именно этот не нахожу. :wall:


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
Не могу найти этот шаблон штампа
не этот случайно?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Gnomych писал(а):
Не могу найти этот шаблон штампа
не этот случайно?

Да он. Именно в нем работает ВРЧ от 2019г. в шаблоне от vin в 4-й версии макрос выдает ошибку "Не найдено имя объекта" и выполнение макроса останавливается на строке
Код:
pg.Shapes("Рамка").Cells("fields.value").FormulaU = "0"

Вот как то так.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
в шаблоне от vin в 4-й версии макрос выдает ошибку
причин может быть две:
  • У vin эта фигура называется не "Рамка", а иначе.
  • Сама эта фигура, не имеет поля для отображения номера страницы
Структура фигур может отличаться однозначно!

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
причин может быть две:
  • У vin эта фигура называется не "Рамка", а иначе.
  • Сама эта фигура, не имеет поля для отображения номера страницы
Структура фигур может отличаться однозначно!

Ну да и рамка называется "Рамка.7" и номеров страниц нет вообще, что то я на это внимания не обратил.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Gnomych писал(а):
рамка называется "Рамка.7" и номеров страниц нет вообще
Brutal truth:
Ремень привода генератора от Москвича-412 не подходит Мерседесу! :cry:
С номерами страниц засада - если у фигуры нет этого поля, то в ведомости номерок не будет обновляться !
Аналогично надо смотреть есть ли ячейка с наименованием листа, которое отображается в штампе! Если есть, посмотреть как называется?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Залез посмотреть, что там
Surrogate писал(а):
С номерами страниц засада - если у фигуры нет этого поля, то в ведомости номерок не будет обновляться !
внутри рамки номера нет, нумерация весьма замысловато сделана ! для каждой из типов основных надписей (формы №3, 5 и 6) сделан свой набор фигур. в каждом которых присутствует специальная фигура которая должна отображать номер страницы
Изображение
Surrogate писал(а):
Аналогично надо смотреть есть ли ячейка с наименованием листа, которое отображается в штампе! Если есть, посмотреть как называется?
называется он - Prop.N4
Изображение
В общем код из Vedomost2019.vss надо менять чуть менее, чем полностью !
Евгени в сообщении #6920 писал(а):
pазмещение твоего трафарета улучшит твою карму!

Если есть большое желание можешь адаптировать этот инструмент под шаблон от vin!

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 02 авг 2012, 16:39
Сообщений: 57
Очков репутации: 0

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


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

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



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

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


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

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