Для русскоязычных пользователей 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  Visio Shape Report Converter Excel add-in available   David Parker    

11.01.2022  A few Words of encouragement   johnvisiomvp    

20.03.2019  Из Visio в Excel через Power Query   Геннадий Туманов    

28.12.2018  Отчеты Visio   Геннадий Туманов   Структура описания отчета, программный вызов, ключи. 

10.06.2015  Изменение существующего отчета   Alla Vasilieva    

13.08.2013  Выполнение предопределенного отчета в Visio   Alla Vasilieva    

13.09.2012  Выполнение предопределенного отчета   Alla Vasilieva    

31.08.2012  Создание нового отчета   Alla Vasilieva    

31.07.2011  Changing Embedded Visio Report Column Headers   David Parker    

15.10.2006  Visio's other file format – Report Definition files   John Marshall   Краткое описание формата .vrd 

Ответы на вопросы

Сортировка в отчете

Пытаюсь в отчете сделать сортировку по данным в фигуре например это номер , в отчете сортировка идет таким образом 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. Так тоже длинные поля выводятся.