![]() |
Форум visio.getbb.ru |
О форумах
Библиотека | Частые вопросы | Литература | Склад материалов Visio Navigator | Blog | Полезные ссылки | О сайте История Visio | Продукты Visio |
Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д. |
Построение организационных диаграмм поддерживается дополнительным программным обеспечением, автоматизирующим импорт данных, настройку отображаемых полей, управление размещением шейпов.
Прямо на старте включается визард, обеспечивающий настройку на источник данных, выбор полей и параметров размещения. Визард состоит из нескольких последовательно вызываемых экранных форм с настроечными параметрами. Большинство диаграмм может быть построено автоматически. Функцию импорта можно задействовать и позже.
Вместо ручной настройки можно задействовать специальную утилиту ORGWIZ.EXE. Она обеспечивает аналогичные настройки, но вызывается из скрипта или другой программы. Вместо экранных форм настроечные данные передаются в виде параметров обращения. Пример вызова ORGWIZ.EXE:
"C:\Program Files\Microsoft Office\Office12\OrgWiz.exe" /FILENAME="C:\temp\test.xls"
Перечень параметров можно посмотреть в Make Visio organization charts from personnel files.
После первичного построения можно использовать еще ряд функций для оптимизации размещения или изменения внешнего вида диаграммы. Эти функции обеспечивает Add-On, вызываемый через дополнительную вкладку в риббоне. Microsoft не афиширует тот факт, что практически все эти функции можно вызвать программно, обращаясь к OrgC11.dll. Формат обращения примерно такой:
AppVisio.Addons("OrgC11").Run ("/cmd=relayout")
Нужно помнить, что до версии Visio 2010 программные обращения были тоже возможны, но параметры обращения несколько отличались.
Одним из недостатков штатного аддона является невозможность управлять сортировкой при автопостроении. Частично этот недостаток устраняется с помощью дополнительной приставки. Разработан трафарет (программный), позволяющий выбрать нужное поле и изменить порядок следования шейпов на существующей диаграмме. Трафарет доступен через Gumroad https://gumroad.com/l/YFych
Нужно помнить, что оргдиаграмма в Visio имеет древовидную структуру. То есть у подчиненного может быть только один начальник. При попытке ввести дополнительную связь уже имеющаяся просто исчезает. Это можно обойти, если для дополнительных связей использовать другой тип коннектора, имеющийся в трафарете.
Пользователи часто задают вопрос - можно ли изменить внешний вид шейпов, используемых в диаграмме. Штатное решение - настройка перечня отображаемых полей, места их размещения и выбор стиля из имеющейся галереи стилей оргдиаграммы.
Возможны нештатные решения. Например, в статье Creating an Org Chart without the Org Chart Wizard" предлагается метод построения оргдиаграммы без использования штатного аддона за счет того, что и без него Visio имеет некоторые средства импорта данных и управления авторазмещением шейпов.
Возможны и варианты с использованием штатного аддона, но как правило они требуют разработки дополнительного программного обеспечения, участия программистов.
06.12.2020
05.12.2019
08.07.2015
17.04.2015
03.04.2015
07.08.2014
14.06.2014
08.06.2014
03.10.2013
26.10.2012
13.08.2012
08.05.2012
24.02.2009
Автоматизация Organization Chart
Я могу построить Organization Chart в Visio, импортируя данные из Excel. Но мне хотелось бы автоматизировать это процесс. Я пытался записать макрос, но импорт не записывается. Предполагаю, что придется использовать VBA. Кто может что-нибудь посоветовать.
Не обязательно использовать VBA. Возможно, будет достаточно использовать встроенный Add-On OrgChart.
Изменение прямоугольного шейпа
Я создаю орггдиаграмму своей компании в Visio 2016 standard. Можно ли изменить шейп прямоугольника, чтобы он содержал несколько больше, чем имя и заголовок? Я хотел бы добавить адрес, номер сотрудника и день рождения. Возможно ли это в стандартной версии и как это настроить?
Вы можете начать со статьи "Add data to shapes" https://support.office.com/en-ie/article/add-data-to-shapes-09272394-5243-4e1b-bcfa-425a8b4d1ce2
Простой шейп с изображением вверху и текстом внизу
Я делаю генеалогическое дерево и хотел бы использовать простой прямоугольный шейп, чтобы вверху была картинка, а внизу имя. Для экономии нужно, чтобы шейп не содержал пустых мест. Почему бы по умолчанию не быть такому шейпу? Кроме того, хотелось бы, чтобы фон был раскрашен в цвета флага страны, так как некоторые участники из разных стран. Можно ли сделать различный фон у шейпов?
Пользователей много, на всех не угодишь. Но вы можете создать свой мастер-шейп, сохранить его в своем трафарете и использовать. В том числе и сделать изменяемый фон. Для этого вам придется изучить ряд вопросов: - как группировать шейпы - как редактировать шейп-лист - как связать отображение внутреннего шейпа с данными шейпа-группы - как превратить шейп в мастер-шейп - как управлять трафаретами. Перечисленные шаги не требуют знания VBA.
Несколько связей в OrgChart
Я делаю оргдиаграмму, на которой у человека может быть более одного начальника. Но когда я добавляю такую связь, первая связь исчезает. Как быть?
Начальник может быть только один, это правило не может быть нарушено. Но вы можете использовать другой тип линии - Dotted-line report. Отформатируйте ее, чтобы была сплошной, и отличия будут незаметны.
Несколько имен в одном блоке
Я работаю в большой компании, более чем 1500 сотрудников. Для экономии места нужно, чтобы в одном квадрате отображались несколько сотрудников. Как это сделать?
Смарт-шейпы часто сопровождаются поддерживающим кодом, который мешает что-либо изменять. Либо ломается шейп, либо код перекрывает попытку изменения. В вашем случае можно добавить столбец в Excel, в котором будут объединяться несколько имен. Причем это должно выглядеть так, как будет отображаться в Visio, то есть каждое имя в отдельной строке.
Удаляются соединения
Я создаю оргдиаграмму с соединениями между разными позициями. Когда приходится добавлять вторую соединительную линию к руководителю, то первая линия исчезает. Как это исправить?
Единственное, что приходит на ум, - оргдиаграмма сделана так, что подчиненный может иметь только одного руководителя. Что обойти это ограничение, вы можете использовать другой тип соединения - пунктирную линию. Однако нужно помнить, что такое решение может привести к ошибкам при создании отчетов.
В Visio 2010 изменился OrgC11
В Visio 2003 я мог использовать для изменения размещения такие команды как
Application.Addons("OrgC11").Run("/toolbar_horiz1") Application.Addons("OrgC11").Run("/toolbar_sidebyside2")
В Visio 2010 эти команды не работают. Хотя некоторые (например .run("/cmd=layoutdlg") продолжают работать. В результате часть кода в новой версии перестала работать. Кто-нибудь знает, с чем это связано и как исправляется?
Я думаю, теперь это
Application.Addons("OrgC11").Run ("/gallery_horiz1") Application.Addons("OrgC11").Run ("/gallery_sidebyside2")
Вы можете посмотреть новые команды просто рассматривая OrgChart.DLL как текст. Вот какой список можно увидеть: layoutdlg, relayout, shapedropped, fittopage, linkcopybranch gallery_horiz1, gallery_horiz2, gallery_horiz3, gallery_horiz4, gallery_horiz5, gallery_horiz6 gallery_vert1, gallery_vert2, gallery_vert3, gallery_vert4, gallery_vert5, gallery_vert6, gallery_vert7, gallery_vert8 gallery_sidebyside1, gallery_sidebyside2, gallery_sidebyside3, gallery_sidebyside4 changepicture, insertpicture, insertpictures, showdivider, deletepicture, showpicture hidedivider, togglepicture, hidepicture, shiftright, shiftleft, disableredraw, scalechanged enableevents, enableredraw, wizardchanges_doc, disableevents, forcedocprocessing setupforinteraction, addpage, waitforidle, addsyncshape, addnewshape, showdivider_doc display5, layoutpage, hidedivider_doc, hidesubordinates, showsubordinates, convertshapes togglesubordinates, options, editoverallprops, reduceheight, increaseheight, reducewidth, increasewidth style01, style00, style03, style02, style05, style04, style07, style06, style09, style08, style10 togglelayoutstyle, movecloser, editalprops, exportorgdata, movefurther, diffcompare expandsubordinates, addpicturetoposition, convertdoc, importsetstyle, picturepath
Удалить фотографии из OrgChart
Можно ли в Visio 2013 использовать VBA для удаления всех полей с фотографиями? Устал делать это вручную на всех страницах.
Не обязательно скрывать фотографии в каждом шейпе. Можно селектировать сразу несколько шейпов и выбрать в контекстном меню соответствующий пункт. Фотографии будут скрыты сразу во всех селектированных шейпах.
Как у фигуры в организационной диаграмме программно показать разделительную линию?
Т.е. когда нажимаешь правой кнопкой мыши и выбираешь пункт меню "Show divider line"?
Sub ttt() Set sh = ActivePage.Shapes(1) sh.Cells("User.ShowDivider") = 1 End Sub
Как программно загрузить картинку Shape.Picture?
Как программно загрузить картинку?
Картинка грузится через импорт sh.Import picx где picx - путь к картинке. Но, боюсь, в стандартных шейпах Вам это не поможет. По импорту создается новый шейп с картинкой. Значит нужно будет не только создать такой шейп, но и встроить его в чужой шейп, да еще и так, чтобы его не сломать.
Как программно импортировать структуру из Excell или csv файла?
Перерыл всю объектную модель, ничего похожего не нашел :(
Есть такая утилитка - ORGWIZ.EXE Если ее вызвать из программы с соответствующими ключами (а их там море), то скорее всего получите нужный результат. Аргументы командной строки прописаны в статье "Make Visio organization charts from personnel files" https://support.office.com/en-us/article/Make-Visio-organization-charts-from-personnel-files-a6ce56cf-1714-45a8-863a-e1a8001a2e5e?CorrelationId=5c6eb855-9ac1-4dd3-a663-940c3d825a2c&ui=en-US&rs=en-US&ad=US&ocmsassetID=HA001077464 . Но она относится к Visio 2007, теоретически что-то могло измениться.