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

Форум по вопросам применения и программирования в Visio
Текущее время: 22 сен 2019, 15:57

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Создание пользовательского риббона используя xml в визио 2010
СообщениеДобавлено: 10 сен 2014, 15:20 
Не в сети
Content manager

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

но в визио это не прокатит :(

только visual studio - только hardcore !!!!


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

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 635
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100606

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
например в ворде если к шаблону документа с помощью проги Ribbon xml editor прикрутить ленту (риббон) то во всех документах созданных на базе этого шаблона будет доступна та же самая лента

но в визио это не прокатит :(


Почему не прокатит? Все вроде работает. Разве что кастомные картинки не работают. Недавно например тут обсуждалось:

http://visguy.com/vgforum/index.php?topic=5836.0

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: SolutionXML
СообщениеДобавлено: 10 сен 2014, 16:33 
Не в сети
Content manager

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: SolutionXML
СообщениеДобавлено: 10 сен 2014, 17:34 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 635
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100606

Добавить очки репутацииУменьшить очки репутации
Не я именно про XML говорил. Там (в топике на visguy) ссылка есть на дизайнер:

Custom UI Editor for MS Office:
http://openxmldeveloper.org/blog/b/open ... 23248.aspx

Вполне себе так работает нормально.
Тот что с narod.ru похоже Visio не поддерживает.

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3672
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
я сегодня ставил уже Custom UI Editor for MS Office, возможно была не последняя версия, еще раз скачал последнюю версию по твоей ссылке
в меню открыть файл чё то не вижу варианта документы визио Изображение
Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: SolutionXML
СообщениеДобавлено: 10 сен 2014, 18:42 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 635
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100606

Добавить очки репутацииУменьшить очки репутации
Он открывает только VSDX (OOXML, Visio 2013)

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: SolutionXML
СообщениеДобавлено: 11 сен 2014, 02:46 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 635
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100606

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
ясно. остается только hardcore Изображение
Ну почему же. Можно взять XML и засунуть в файл для Visio 2010, простым присваиванием Document.CustomUI
Посмотри пример в файле (запустить runme.bat - он запустит ui.vbs с параметрами - "что" (xml-файл) и "куда" (visio-файл) пихать.
Можно просто из окошка VBA


Вложения:
sample-rib.zip [6.29 Кб]
Скачиваний: 72

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: SolutionXML
СообщениеДобавлено: 11 сен 2014, 11:20 
Не в сети
Content manager

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3672
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
Спасибо, работает !!! Отредактировал, для запуска из под VBA
Код:
Sub vsd_import_xml()
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("c:\sample-rib\ui1.xml", 1)
XML = file.ReadAll
file.Close
ActiveDocument.CustomUI = XML
ActiveDocument.Save
End Sub
на всякий случай ряд гиперссылок по теме xml/ribbon
Office Open XML I: обзор форматов Office Open XML
Настройка пользовательского интерфейса приложений Microsoft Office
Microsoft Word 2007. Меняем интерфейс. Часть 1. Введение, Часть 2. Справка, Часть 3. Меняем
Getting started with Visio Ribbon
Custom Ribbon with VBA in Visio Stencil
Visio 2010 Context Menus
Customising Contextual Ribbon Tabs In Visio 2010
How to Run VBA Macros from a Ribbon Button in Visio 2010
Modifying Visio UI - Backstage?
Visio 2010 File Tab
Hide backstage button
Настройка ленты и backstage в Microsoft Office 2010
Введение в представление Backstage в Office 2010 для разработчиков
Visio Insights: User Interface Extensibility in Visio 2010
MSDN: Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
MSDN: Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
MSDN: Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)
HOW-TO-Manipulating-Office-Ribbon-Bar-only-with-VBA.html
Ron de Bruin: Ribbon Examples files and Tips
Customize the Word Ribbon User Interface
imageMso

Application RegisterRibbonX vs Document CustomUI
Customizing the Ribbon in Visio 2010 by Using a Visual Studio 2010 Add-In
Ribbon extensibility for Visio Solutions in Visio 2010
Дополнено позднее: Бо́льшая коллекция ссылок, представленна
Unfortunately, the page on MSDN that collected all information about the Ribbon has been removed from the site. Here are the most important links from that page:


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

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

Добавить очки репутацииУменьшить очки репутации
Gnomych писал(а):
Для начала попробую создать свой Ribbon для меню.

Вложение:
test2.vsd [18.5 Кб]
Скачиваний: 11

Меню освоил :D Теперь нужно наполнить его смыслом.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3672
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
Gnomych писал(а):
Теперь нужно наполнить его смыслом
у тебя есть косяк в xml. во всех кнопках в поле OnAction стоит CallBack ! а там должно быть название совпадающее с названием кнопки.
Цитата:
<button id="customButton1" label="Заполнить титул проекта" imageMso="ArrangeByCompany" size="large" onAction="customButton1" />
соответственно нужно еще вставить модуль в котором должны быть процедуры, имена которых совпадают с именами кнопок. у процедуры в скобках должен быть аргумент
control As IRibbonControl.
Цитата:
Sub customButton1(control As IRibbonControl)


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

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

Добавить очки репутацииУменьшить очки репутации
onAction это вызываемая процедура по нажатию кнопки, в случае с CallBack вот такая
Код:
Sub CallBack(control As IRibbonControl)
    программы.Citrus    'тут пишем либо код процедуры либо вызываем процедуру из другого модуля, в моих меню вызывается из другого модуля
End Sub

Вот описание команд в xml для кнопки.
Код:
               <button id="ЗакрытьКС" ' id кнопки должно быть уникальным во всём файле
                  label="Спрятать КС-ки" ' подпись под кнопкой
                  imageMso="BlankPageInsertMenu" ' картинка на кнопке
                  screentip="Закрывает формы КС" ' Краткий хелп по наведению мыши
                  supertip="При нажатии происходит закрытие форм КС. Лишние листы скрываются" ' Детальное описание по наведению мыши
                  onAction="KC_close" ' процедура в control As IRibbonControl
               />

т.е. id кнопки и имя процедуры ни как между собой не связаны


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3672
Откуда: оттуда
Использую Visio c: 1998
Отрасль: -
Должность: Безработный
Уровнь квалификации: Ниже нуля
Gnomych писал(а):
т.е. id кнопки и имя процедуры ни как между собой не связаны
и что у тебя все работает ? :o
xml
Спойлер: показать
Цитата:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="customTab" label="Custom Tab">
<group id="customGroup" label="Проекты">
<button id="customButton1" label="Заполнить титул проекта" imageMso="ArrangeByCompany" size="large" onAction="customButton1" />
<button id="customButton2" label="Вставить первый лист" imageMso="CatalogMergeMergeToExistingPublication" size="large" onAction="customButton2" />
<button id="customButton3" label="Вставить последующий лист" imageMso="CatalogMergeMergeToNewPublication" size="large" onAction="customButton3" />
<button id="customButton4" label="Разобраться с заказчиком" imageMso="ApplyCurrencyFormat" size="large" onAction="customButton4" />
</group>
<group id="customGroup1" label="Исполнительная">
<button id="customButton5" label="Создать исполнительную по проекту" imageMso="ProjectStatistics" size="large" onAction="customButton5" />
<button id="customButton6" label="Содрать бабло" imageMso="AccountingFormat" size="large" onAction="customButton6" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

новый модуль
Спойлер: показать
Код:
Sub customButton1(control As IRibbonControl)
   MsgBox 1
End Sub
Sub customButton2(control As IRibbonControl)
   MsgBox 2
End Sub
Sub customButton3(control As IRibbonControl)
   MsgBox 3
End Sub
Sub customButton4(control As IRibbonControl)
   MsgBox 4
End Sub
Sub customButton5(control As IRibbonControl)
   MsgBox 5
End Sub
Sub customButton6(control As IRibbonControl)
   MsgBox 6
End Sub

у меня так все работает !


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

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

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

У меня работает как швейцарские часы :D
Спойлер: показать
Код:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <ribbon startFromScratch="false">
      <tabs>
         <tab id="customTab" label="Custom Tab">
            <group id="customGroup" label="Проекты">
               <button id="customButton1" label="Заполнить титул проекта" imageMso="ArrangeByCompany" size="large" onAction="a1" />
               <button id="customButton2" label="Вставить первый лист" imageMso="CatalogMergeMergeToExistingPublication" size="large" onAction="a2" />
               <button id="customButton3" label="Вставить последующий лист" imageMso="CatalogMergeMergeToNewPublication" size="large" onAction="a3" />
               <button id="customButton4" label="Разобраться с заказчиком" imageMso="ApplyCurrencyFormat" size="large" onAction="a4" />
            </group>
            <group id="customGroup1" label="Исполнительная">
               <button id="customButton5" label="Создать исполнительную по проекту" imageMso="ProjectStatistics" size="large" onAction="a5" />
               <button id="customButton6" label="Содрать бабло" imageMso="AccountingFormat" size="large" onAction="a6" />
            </group>
         </tab>
      </tabs>
   </ribbon>
</customUI>

Это xml, ниже код VBA
Спойлер: показать
Код:
Public Sub a1(control As IRibbonControl)
MsgBox 1
End Sub
Public Sub a2(control As IRibbonControl)
MsgBox 2
End Sub
Public Sub a3(control As IRibbonControl)
MsgBox 3
End Sub
Public Sub a4(control As IRibbonControl)
MsgBox 4
End Sub
Public Sub a5(control As IRibbonControl)
MsgBox 5
End Sub
Public Sub a6(control As IRibbonControl)
MsgBox 6
End Sub

пример:
Вложение:
test2.vsd [20 Кб]
Скачиваний: 9


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

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

Добавить очки репутацииУменьшить очки репутации
Вот пример xml для одного из старых проектов
Спойлер: показать
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <ribbon startFromScratch="false">
      <tabs>
         <tab id="RTK" label="Ростелеком">
            <group id="TFS" label="B2B">
               <button id="СоздатьТелефонстрой"
                  label="Создать заказ на ВОЛС"
                  size="large"
                  imageMso="MindMapExportExcel"
                  screentip="Создает заказ"
                  supertip="При нажатии создаётся заказ на генподряд по ВОЛС"
                  onAction="open_v"
               />
               <separator id="s_1" />
               <button id="СформироватьЗаказ"
                  label="Сформировать Заказ"
                  imageMso="UMLEvents"
                  screentip="Формирует Расчёт и Заказ"
                  supertip="При нажатии происходит формирование расчёта и заказа. Все формулы, лишние строки, столбцы и листы удаляются."
                  onAction="format_v"
               />               
               <button id="СформироватьКС"
                  label="Сформировать ГП КС-2"
                  imageMso="BuildingBlocksSaveTableOfContents"
                  screentip="Форматирует КС-2"
                  supertip="При нажатии происходит удаление лишних строк в КС-2."
                  onAction="KC_format"
               />               
               <separator id="s_2" />
               <button id="ОткрытьКС"
                  label="Показать ГП КС-ки"
                  imageMso="BlankPageInsertVisio"
                  screentip="Открывает формы КС"
                  supertip="При нажатии происходит открытие форм КС. Лишние листы скрываются"
                  onAction="KC_open"
               />
               <button id="ЗакрытьКС"
                  label="Спрятать КС-ки"
                  imageMso="BlankPageInsertMenu"
                  screentip="Закрывает формы КС"
                  supertip="При нажатии происходит закрытие форм КС. Лишние листы скрываются"
                  onAction="KC_close"
               />
               <button id="ОткрытьСуб"
                  label="Открыть субподрядные формы"
                  imageMso="BlankPageInsertVisio"
                  screentip="Открывает субподряд"
                  supertip="При нажатии происходит открытие форм субподряда. Лишние листы скрываются"
                  onAction="суб_open"
               />
               <button id="ЗакрытьСуб"
                  label="Спрятать Субподряд"
                  imageMso="BlankPageInsertMenu"
                  screentip="Закрывает субподряд"
                  supertip="При нажатии происходит закрытие форм заказа субподряда. Лишние листы скрываются"
                  onAction="Суб_close"
               />
               <button id="ОткрытьВсеЛисты"
                  label="Открыть все листы"
                  imageMso="AutoFormatWizard"
                  screentip="Открывает все листы в книге"
                  onAction="open_all"
               />
            </group>
            <group id="pon" label="GPON">
               <button id="Создать_GPON"
                  label="Создать заказ GPON"
                  size="large"
                  imageMso="MindMapExportExcel"
                  screentip="Создает заказ"
                  supertip="При нажатии создаётся заказ на GPON"
                  onAction="open_g"
               />
               <separator id="s_3" />
               <button id="СформироватьGPON"
                  label="Сформировать Заказ"
                  imageMso="UMLEvents"
                  screentip="Формирует Приложение 2"
                  supertip="При нажатии происходит формирование расчёта к заказу (сворачиваются лишние строки)"
                  onAction="format_g"
               />               
               <button id="KCGPON"
                  label="Сформировать КС-2"
                  imageMso="BuildingBlocksSaveTableOfContents"
                  screentip="Форматирует КС-2"
                  supertip="При нажатии происходит сворачивание лишних строк в КС-2."
                  onAction="KC_g"
               />               
            </group>
            <group id="Save_z" label="Сохранить">
               <button
                  id="СохранитьЗаказ"
                  label="Сохранить как"
                  imageMso="FilesToolSaveAs"
                  onAction="сохранить"
               />
            </group>
         </tab>
      </tabs>
   </ribbon>
</customUI>

Конструкция <tabs></tabs> это сама закладка в меню
<group id="pon" label="GPON"></group> разделы в закладке
<separator id="s_3" /> разделитель внутри раздела
<button id="СохранитьЗаказ" label="Сохранить как" imageMso="FilesToolSaveAs" onAction="сохранить" /> это сама кнопка


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

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


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

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

Добавить очки репутацииУменьшить очки репутации
Не всегда удобно


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

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



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

Сейчас этот форум просматривают: Yandex [bot] и гости: 2


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

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