Саня, твой последний крайний Ribbon просто великолепен. Спасибо. А чем ты обрабатывал свой файл Excel.officeUI так, что всё там не слитым текстом, а разбито на абзацы и секции тэгов? какой-то программой (типа как делает SmartIndent в VBA) или руками? А то очень не удобно: после каждого малейшего изменения через "настройку ленты" весь xml-текст в Excel.officeUI слипается в 1 неудобочитаемый абзац, да и все в ручную расставленные комментарии и {dialogBoxLauncher} {/dialogBoxLauncher} теряются ... И почему-то showLabel="false" / "true" м size = "normal' / "large" никак не влияют ни на наличие подписи, ни на размер картинки во вкладке, созданной в Excel.officeUI
К стати, объясни, зачем ты группы разбиваешь на боксы? И что за элемент labelControl при помощи которого ты "подравниваешь кнопки"?
Саня, твой последний крайний Ribbon просто великолепен. Спасибо. А чем ты обрабатывал свой файл Excel.officeUI так, что всё там не слитым текстом, а разбито на абзацы и секции тэгов? какой-то программой (типа как делает SmartIndent в VBA) или руками? А то очень не удобно: после каждого малейшего изменения через "настройку ленты" весь xml-текст в Excel.officeUI слипается в 1 неудобочитаемый абзац, да и все в ручную расставленные комментарии и {dialogBoxLauncher} {/dialogBoxLauncher} теряются ... И почему-то showLabel="false" / "true" м size = "normal' / "large" никак не влияют ни на наличие подписи, ни на размер картинки во вкладке, созданной в Excel.officeUI
К стати, объясни, зачем ты группы разбиваешь на боксы? И что за элемент labelControl при помощи которого ты "подравниваешь кнопки"?Alex_ST
А чем ты обрабатывал свой файл Excel.officeUI так, что всё там не слитым текстом, а разбито на абзацы и секции тэгов? какой-то программой (типа как делает SmartIndent в VBA) или руками?
руками, я это сделал, чтобы тебе было видно лучше, этот файл я не трогаю обычно...
Quote (Alex_ST)
И почему-то showLabel="false" / "true" м size = "normal' / "large" никак не влияют ни на наличие подписи, ни на размер картинки во вкладке, созданной в Excel.officeUI
не знаю
Quote (Alex_ST)
К стати, объясни, зачем ты группы разбиваешь на боксы?
чтобы не расползались по ленте (во всяком случае так было в 2007 офисе, а тут остались по инерции), попробуй удалить боксы и посмотреть - там есть нюансы...
Quote (Alex_ST)
И что за элемент labelControl при помощи которого ты "подравниваешь кнопки"?
пустой лейбл - надписи нет, а место чутка отжимает
Quote (Alex_ST)
А чем ты обрабатывал свой файл Excel.officeUI так, что всё там не слитым текстом, а разбито на абзацы и секции тэгов? какой-то программой (типа как делает SmartIndent в VBA) или руками?
руками, я это сделал, чтобы тебе было видно лучше, этот файл я не трогаю обычно...
Quote (Alex_ST)
И почему-то showLabel="false" / "true" м size = "normal' / "large" никак не влияют ни на наличие подписи, ни на размер картинки во вкладке, созданной в Excel.officeUI
не знаю
Quote (Alex_ST)
К стати, объясни, зачем ты группы разбиваешь на боксы?
чтобы не расползались по ленте (во всяком случае так было в 2007 офисе, а тут остались по инерции), попробуй удалить боксы и посмотреть - там есть нюансы...
Quote (Alex_ST)
И что за элемент labelControl при помощи которого ты "подравниваешь кнопки"?
пустой лейбл - надписи нет, а место чутка отжимает Саня
Саня, спасибо тебе за консультации. Теперь попробую дальше поразбираться сам (главное, получил "посыл" и импульс в нужном направлении )
Всё-таки, наверное, придётся делать настройку "под себя" как надстройку .xlam, а не с использованием встроенного редактора Excel.officeUI… Уж больно много времени приходится тратить на разбор слипшегося XML-текста в Excel.officeUI после его работы... (Тут бы Володю или Сашу привлечь чтобы они RegExp в виде VBS слепили для обработки XML-подобного текста или найти какой-нибудь редактор, который сам сумеет сделать такому тексту SmartIndent) Да и с картинками кнопок там беда, и комментарии сжираются. В общем, сырьё ещё встроенный редактор ленты в Office-10…
Саня, спасибо тебе за консультации. Теперь попробую дальше поразбираться сам (главное, получил "посыл" и импульс в нужном направлении )
Всё-таки, наверное, придётся делать настройку "под себя" как надстройку .xlam, а не с использованием встроенного редактора Excel.officeUI… Уж больно много времени приходится тратить на разбор слипшегося XML-текста в Excel.officeUI после его работы... (Тут бы Володю или Сашу привлечь чтобы они RegExp в виде VBS слепили для обработки XML-подобного текста или найти какой-нибудь редактор, который сам сумеет сделать такому тексту SmartIndent) Да и с картинками кнопок там беда, и комментарии сжираются. В общем, сырьё ещё встроенный редактор ленты в Office-10… Alex_ST
Лёша, да забудь ты про эту "возможность" - встроенный редактор вообще никакой, во-первых, во-вторых, он не позволяет сделать динамические элементы. Осваивай лучше построение интерфейса уровня приложения через надстройку (.xlam)
Лёша, да забудь ты про эту "возможность" - встроенный редактор вообще никакой, во-первых, во-вторых, он не позволяет сделать динамические элементы. Осваивай лучше построение интерфейса уровня приложения через надстройку (.xlam)Саня
Осваивай лучше построение интерфейса уровня приложения через надстройку (.xlam)
наверное, так и придётся делать... За одно и XML освою. К стати, по поводу аналога Smart Indent для VBA: я тут для XML нарыл XMLPad. Он пробелы в секциях может расставлять. Очень удобно и читабельно получается. А что такое "динамические элементы"? Они есть на твоём супер-риббоне чтобы посмотреть?
Quote (Саня)
Осваивай лучше построение интерфейса уровня приложения через надстройку (.xlam)
наверное, так и придётся делать... За одно и XML освою. К стати, по поводу аналога Smart Indent для VBA: я тут для XML нарыл XMLPad. Он пробелы в секциях может расставлять. Очень удобно и читабельно получается. А что такое "динамические элементы"? Они есть на твоём супер-риббоне чтобы посмотреть?Alex_ST
А что такое "динамические элементы"? Они есть на твоём супер-риббоне чтобы посмотреть?
чекбокс, который делает не доступными макросы (именно этот вопрос меня и интересовал тогда - взаимодействие контролов на ленте) лейбл, который показывает текущее выделение на листе (его надпись динамическая)
Quote (Alex_ST)
А что такое "динамические элементы"? Они есть на твоём супер-риббоне чтобы посмотреть?
чекбокс, который делает не доступными макросы (именно этот вопрос меня и интересовал тогда - взаимодействие контролов на ленте) лейбл, который показывает текущее выделение на листе (его надпись динамическая)Саня
Саня, а где по-твоему лучше макросы держать, для которых есть кнопки на риббоне? Похоже, что в самом файле надстройки риббона чтобы не заморачиваться с путями к файлу? А что же тогда останется в Personal? Как-то не привычно...
Саня, а где по-твоему лучше макросы держать, для которых есть кнопки на риббоне? Похоже, что в самом файле надстройки риббона чтобы не заморачиваться с путями к файлу? А что же тогда останется в Personal? Как-то не привычно...Alex_ST
а с personal'ом произойдет отторжение - у меня он сейчас как простое хранилище макросов, ни один из которых не вызывается кнопочно, может только с ПБД на него возложена функция за(вы)грузки самой надстройки: [vba]
Code
Sub Load_UnLoad_Ribbon() 'Ctrl+R With AddIns("Ribbon") .Installed = Not .Installed End With End Sub
[/vba]
именно!
а с personal'ом произойдет отторжение - у меня он сейчас как простое хранилище макросов, ни один из которых не вызывается кнопочно, может только с ПБД на него возложена функция за(вы)грузки самой надстройки: [vba]
Code
Sub Load_UnLoad_Ribbon() 'Ctrl+R With AddIns("Ribbon") .Installed = Not .Installed End With End Sub
К сожалению, я бы хотел на первых порах своего обучения сохранить на компе и 2003, и 2010. А там у меня всё в Personal. И переделывать интерфейс 2003-го на вызов макросов многочисленных кнопочек не из Personal, а из надстройки, лежащей в AddIns, да и к тому же .xlam мне что-то не с руки.
К сожалению, я бы хотел на первых порах своего обучения сохранить на компе и 2003, и 2010. А там у меня всё в Personal. И переделывать интерфейс 2003-го на вызов макросов многочисленных кнопочек не из Personal, а из надстройки, лежащей в AddIns, да и к тому же .xlam мне что-то не с руки.Alex_ST
Саня, я хотел попробовать твой крайний очень понравившийся мне Ribbon_Old.xlam под себя подправить, несколько своих макросов туда добавить, кнопочки для них сделать... А ты, оказывается, проект VBA запоролил... Это принципиальная твоя позиция для соблюдения копирайта или просто на всякий случай, чтобы случайно не влезли неумехи? Я, конечно, могу и сам попробовать ломануть пароль, но как-то это не комильфо... Да и не люблю я это делать. А посмотреть бы как ты сделал вызовы макросов из xml и передачу значений обратно очень хотелось бы... Может, хоть в личку пароль кинешь?
Саня, я хотел попробовать твой крайний очень понравившийся мне Ribbon_Old.xlam под себя подправить, несколько своих макросов туда добавить, кнопочки для них сделать... А ты, оказывается, проект VBA запоролил... Это принципиальная твоя позиция для соблюдения копирайта или просто на всякий случай, чтобы случайно не влезли неумехи? Я, конечно, могу и сам попробовать ломануть пароль, но как-то это не комильфо... Да и не люблю я это делать. А посмотреть бы как ты сделал вызовы макросов из xml и передачу значений обратно очень хотелось бы... Может, хоть в личку пароль кинешь?Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Понедельник, 14.05.2012, 14:09
1 - это пароль это было сделано для того, чтобы он глаза не мозолил в редакторе и выглядел одной строчкой в "ProjectExplorer" Лёх, используй последний риббон, без ОЛДов
Quote (Alex_ST)
Я, конечно, могу и сам попробовать ломануть пароль
я думаю мой пароль не ломануть
ps я в шоке - ты только сейчас полез в макросы?!
1 - это пароль это было сделано для того, чтобы он глаза не мозолил в редакторе и выглядел одной строчкой в "ProjectExplorer" Лёх, используй последний риббон, без ОЛДов
Quote (Alex_ST)
Я, конечно, могу и сам попробовать ломануть пароль
я думаю мой пароль не ломануть
ps я в шоке - ты только сейчас полез в макросы?!Саня
Саня, а где можно посмотреть, какие тэги и с какими параметрами доступны? И вообще иерархическую структуру тэгов в Офисе (объектную модель?)? Типа: элемент group - это … имеет параметры : id - … label - … insertBeforeMso - … в group могут входить элементы … элемент box - это … имеет параметры : id - … boxStyle - … в box могут входить элементы …
RibbonXMLEditor к сожалению, даёт при вставке тэга элемента даёт только сокращённый список его параметров К тому же в разных файлах по-разному... В Excel.officeUI используются тэги, начинающиеся на mso: {mso:qat}… {/mso:qat} {mso:tabs} … {/mso:tabs} и т.п. А в надстройках и файлах настройки - без mso: {qat}… {/qat} {tabs} … {/tabs} и т.п. И ещё id пишется где как… id idQ idMso И по поводу этих iD: на каком уровне они должны быть уникальными? Надеюсь, только внутри элемента, в который они вложены?
Саня, а где можно посмотреть, какие тэги и с какими параметрами доступны? И вообще иерархическую структуру тэгов в Офисе (объектную модель?)? Типа: элемент group - это … имеет параметры : id - … label - … insertBeforeMso - … в group могут входить элементы … элемент box - это … имеет параметры : id - … boxStyle - … в box могут входить элементы …
RibbonXMLEditor к сожалению, даёт при вставке тэга элемента даёт только сокращённый список его параметров К тому же в разных файлах по-разному... В Excel.officeUI используются тэги, начинающиеся на mso: {mso:qat}… {/mso:qat} {mso:tabs} … {/mso:tabs} и т.п. А в надстройках и файлах настройки - без mso: {qat}… {/qat} {tabs} … {/tabs} и т.п. И ещё id пишется где как… id idQ idMso И по поводу этих iD: на каком уровне они должны быть уникальными? Надеюсь, только внутри элемента, в который они вложены?Alex_ST
Спасибо, Саш. Статью Витера я уже скачивал и просматривал. Но тогда был ещё настолько далёк от XML, что не стал внимательно читать, а только наискось просмотрел и отложил на потом, когда можно будет сразу же пробовать на практике (а иначе фиг научишься). Да и про Word там, а не про Excel написано. А вот теперь время до статьи дошло, а я про неё забыл Со структурой и вложенностью тэгов теперь начало проясняться. А вот про разные суффиксы и префиксы к свойствам типа id idQ idMso {mso:qat}… {/mso:qat} {qat}… {/qat} я пока не нашёл. Может, просто не внимательно читал, конечно … Будем посмотреть поподробнее! Спасибо за архив в почте с учебниками XML ! Бум изучать!
Спасибо, Саш. Статью Витера я уже скачивал и просматривал. Но тогда был ещё настолько далёк от XML, что не стал внимательно читать, а только наискось просмотрел и отложил на потом, когда можно будет сразу же пробовать на практике (а иначе фиг научишься). Да и про Word там, а не про Excel написано. А вот теперь время до статьи дошло, а я про неё забыл Со структурой и вложенностью тэгов теперь начало проясняться. А вот про разные суффиксы и префиксы к свойствам типа id idQ idMso {mso:qat}… {/mso:qat} {qat}… {/qat} я пока не нашёл. Может, просто не внимательно читал, конечно … Будем посмотреть поподробнее! Спасибо за архив в почте с учебниками XML ! Бум изучать!Alex_ST
Начал пытаться делать свой риббон... Наткнулся на несколько вопросов: 1. Так и не понял, когда какие id для какого элемента применять... У Витера написано: id — Определённый пользователем уникальный идентификатор для элемента интерфейса (взаимоисключающий с idMso и idQ) — пользовательский idMso — Идентификатор встроенного элемента интерфейса (взаимоисключающий с id и idQ) — существующий idQ — Ограниченный идентификатор, использующийся перед идентификатором пространства имён — пользовательский для общего пространства имён Мне эти разъяснения ни о чём не говорят, к сожалению 2. В Ribbon XML Editor есть две вкладки для XML-кода: для 2007 и для 2010. И текст на этих вкладках, похоже, может быть разным. Так куда писАть-то чтобы и на 2007, и на 2010 работало? Неужели в обе вкладки? (у тебя, Саш, по крайней мере прописано в обеих и к тому же чуть разные в определениях CustomUI) 3. Хочу, чтобы мой риббон прятал все имеющиеся стандартные вкладки. Для этого прописываю {ribbon startFromScratch="true"} Но хотелось бы иметь на моём риббоне ещё и ToggleButton (или ComboBox) с меняющейся надписью "Показать другие вкладки"/"Скрыть другие вкладки". Не можешь показать пример, как это сделать?
Начал пытаться делать свой риббон... Наткнулся на несколько вопросов: 1. Так и не понял, когда какие id для какого элемента применять... У Витера написано: id — Определённый пользователем уникальный идентификатор для элемента интерфейса (взаимоисключающий с idMso и idQ) — пользовательский idMso — Идентификатор встроенного элемента интерфейса (взаимоисключающий с id и idQ) — существующий idQ — Ограниченный идентификатор, использующийся перед идентификатором пространства имён — пользовательский для общего пространства имён Мне эти разъяснения ни о чём не говорят, к сожалению 2. В Ribbon XML Editor есть две вкладки для XML-кода: для 2007 и для 2010. И текст на этих вкладках, похоже, может быть разным. Так куда писАть-то чтобы и на 2007, и на 2010 работало? Неужели в обе вкладки? (у тебя, Саш, по крайней мере прописано в обеих и к тому же чуть разные в определениях CustomUI) 3. Хочу, чтобы мой риббон прятал все имеющиеся стандартные вкладки. Для этого прописываю {ribbon startFromScratch="true"} Но хотелось бы иметь на моём риббоне ещё и ToggleButton (или ComboBox) с меняющейся надписью "Показать другие вкладки"/"Скрыть другие вкладки". Не можешь показать пример, как это сделать?Alex_ST
1. id - твои идентификаторы, idMso - встроенные, idQ - когда мне понадобилось, чтобы одна рабочая книга "довносила" контрол на вкладку, построенную надстройкой Ribbon.xlam, то А.Витер этот идентификатор и показал - как я понимаю, это не все его возможности, но про другое я пока не знаю...
2. да, в обе, в офисах разное пространство имен: ...2006/01... и ...2009/07...
3. сделал с флагом - в Ribbon.xlam такое же есть, только флаг управляет там доступностью макросов, а здесь видимостью вкладок, эти функции обратного вызова мне очень не легко дались (они в API тоже хорошо представлены )
короче, смотри пример
1. id - твои идентификаторы, idMso - встроенные, idQ - когда мне понадобилось, чтобы одна рабочая книга "довносила" контрол на вкладку, построенную надстройкой Ribbon.xlam, то А.Витер этот идентификатор и показал - как я понимаю, это не все его возможности, но про другое я пока не знаю...
2. да, в обе, в офисах разное пространство имен: ...2006/01... и ...2009/07...
3. сделал с флагом - в Ribbon.xlam такое же есть, только флаг управляет там доступностью макросов, а здесь видимостью вкладок, эти функции обратного вызова мне очень не легко дались (они в API тоже хорошо представлены )