![]() |
Форум visio.getbb.ru |
О форумах
Библиотека | Частые вопросы | Литература | Склад материалов Visio Navigator | Blog | Полезные ссылки | О сайте История Visio | Продукты Visio |
Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д. |
Отчеты - важный инструмент Visio, позволяющий быстро выбрать и оформить данные, находящиеся в документе Visio, в виде таблицы на поле документа или отдельного файла.
Подготовка, сохранение и запуск отчетов с помощью встроенного формирователя отчетов (мастера или визарда) описаны в справке и статьях blogs.technet.microsoft.com (О Visio по-русски).
Хороший пример использования отчетов приводит David J Parker в статье Changing Embedded Visio Report Column Headers. Показано, как возможность сортировки шейпов по X и Y позволяет получить отчет, сгруппированный по стойкам и отсортированный по вертикальному расположению приборов. Более того, приведена ссылка на дополнительные макросы, дающие возможность переименовать колонки в отчете.
Информация, необходимая для программного выполнения отчетов приведена в статье Отчеты Visio Геннадия Туманова
Еще один интересный способ получения отчетов из документов Visio показан в статье Из Visio в Excel через Power Query. Способ основан на прямой выборке данных из файла Visio в табличной форме. Запросы Power Query работают напрямую с документом и не требуют наличия установленного Visio. Способ позволяет свести в одну таблицу данные нескольких страниц Visio.
30.08.2022
11.01.2022
20.03.2019
28.12.2018
10.06.2015
13.08.2013
13.09.2012
31.08.2012
31.07.2011
15.10.2006
Сортировка в отчете
Пытаюсь в отчете сделать сортировку по данным в фигуре например это номер , в отчете сортировка идет таким образом 1,10,11..,2,3 и так далее. А можно ли сделать , чтобы было по порядку то есть 1,2,3,4,10,11 ну и так далее?
Это нормальная сортировка для текста. Попробуйте сделать поле не String, а Number. Так как отчет вытаскивает тип поля из свойства шейпа, то в новом определении отчета будет уже не Type=0, а Type=2. Второй путь - вместо штатного отчета сделать все макросом. В этом случае свободы гораздо больше. В том числе и по преобразованию типов и форматированию результатов.
Отчет о фигурах сгруппированной фигуры с текстовым полем
С толкнулся с такой проблемой, если внутри фигуры есть фигуры с вставленным текстовым полем и если у такой фигуры в поведение стоит сначала группа или сначала компоненты, то при отчете о фигурах будет отчет по всем фигурам внутри фигуры с вставленным полем. Можно ли это исправить, чтобы в отчете была информация только о группе без фигур входящих в ее состав и при этом поведение было сначала группа или сначала компоненты?
Два варианта: 1 - отфильтровать отчет по слою или по имени мастер-шейпа. 2 - снять в поведении группы галочку Edit text of group.
Отображение большого числа в отчете фигур
Столкнулся с такой проблемой, что в отчете о фигурах числовые артикулы отображаются, как экспоненциальное число , например число "4680019910512" в отчете "4,68002E+12". Можно ли сделать, чтобы число показывалось сразу просто числом?
Такое впечатление, что здесь работает нечто, заимствованное из Excel. И оно просто не состыковалось с Visio. Но в Excel для принудительного указания на строку можно перед числом поставить апостроф. И Excel будет отображать только цифры, но считать это уже строкой, а не числом. Этот же прием проходит и в данном случае. То есть, если в Prop.Article записать '4680019910512, то в отчете это будет отображено как 4680019910512 без апострофа и без экспонент.
Подсчёт свойств шейпа
Цель: есть схема на которой расставлены "стеллажи", прямоугольные шейпы со свойствами "название" "размер" "количество"(иногда размеров может быть 2), шейпы генерятся автоматически, потом на схеме расставляются в ручную. задача пересчитать, одинаковые просуммировать, и результат вывести. Нашел код, который пересчитывает "верхние"(сгруппированные) шейпы, разгруппировать не проблема, но я не понимаю как вытащить свойства из шейпа.
Свойства вытаскиваются из ячеек шейп-листа. Все ячейки имеют имена. Пример
Set vsoCell = vsoShape.Cells("LocPinX") intLocalCenterX = vsoCell.Result("cm")
Если известен шейп vsoShape и имя ячейки, например LocPinX, то первая строка примера получает объект "ячейка" vsoCell. А вторая строка из свойства Result этой ячейки берет значение в сантиметрах. То есть ищите имя нужной ячейки и смотрите справку по поводу свойств Result, ResultInt, ResultStr и подобных. Кстати, возможно будет проще вытаскивать данные не с помощью VBA, а с помощью отчетов. Это уже надо смотреть конкретный документ и что из него получится вытащить. Пример кода и отчетов смотреть в первоисточнике - http://visio.getbb.ru/viewtopic.php?f=6&t=1737&p=16301
Проблема с импортом данных фигуры в файл Excel
Друзья, помогите, пожалуйста, разобраться с выгрузкой данных фигуры из visio в файл Excel. В visio в текстовое поле данных можно сохранять любое количество символов. Но при использовании надстройки "Дополнительные решения visio -> Мастер экспорта баз данных" в Excel выгружаются только первые 255 символов, а остальные данные теряются. Можно ли как-то увеличить количество выгружаемых символов?
Первое, что я попробовал - вывести данные в отчет в Excel. 400 знаков выводятся нормально, далее не смотрел. Такой вариант не устроит? Второй вариант - вывести через тот же мастер экспорта, но сначала в Access, а уже из него - в Excel. Так тоже длинные поля выводятся.