Надстройка ленты Excel VBA в качестве первой вкладки - PullRequest
0 голосов
/ 10 марта 2020

Я сделал собственное дополнение для ленты после этой статьи,

https://www.thespreadsheetguru.com/blog/step-by-step-instructions-create-first-excel-ribbon-vba-addin

Это отлично работает, но я могу переместить вкладку, которую я сделал, чтобы она была вторая вкладка после вкладки «Пуск»?

1 Ответ

1 голос
/ 10 марта 2020

Вы можете делать то, что вы хотите sh, но это будет означать, что вам нужно отредактировать файл CustomUI. Xml, который находится в zip-файле, который является документом Office.

Если вы работаете в VBA, тогда вам лучше всего подойдет инструмент редактора CustomUI

https://github.com/OfficeDev/office-custom-ui-editor

Этот инструмент извлечет файл xml из Документ Office, позволяет редактировать и затем сохранять его обратно в документ Office.

Это хорошая ссылка для начала чтения на ленте Xml.

https://www.rondebruin.nl/win/s2/win001.htm

Xml ниже взят из одного из моих пользовательских интерфейсов для Word. Я думаю, что он делает то же самое, что и вы, в том, что я вставляю новую вкладку слева от группы «Прошлое» на вкладке «Главная» ленты. Он также заменяет вкладку «Абзац» настроенной версией.

    <tab 
            idMso="TabHome">

            <group
                id = "Home.RegulatoryCMC"
                label = "Regulatory CMC"
                insertBeforeMso = "GroupClipboard"
                visible="true">

                <button 
                    id = "Home.RegulatoryCMC.StartHere"
                    label = "Start Here"
                    onAction = "RibbonCallbacksForButtons.OnAction"
                    getSupertip = "RibbonCallbacksForSupertips.getSuperTip"/>

                <button
                    id="Home.RegulatoryCMC.ShowStylePane" 
                    label="Show Style Pane" 
                    onAction="RibbonCallbacksForButtons.onAction"
                    getSupertip = "RibbonCallbacksForSupertips.getSuperTip"/>

                <button
                    id="Home.RegulatoryCMC.ResetXML" 
                    label="Reset XML" 
                    onAction="RibbonCallbacksForButtons.onAction"
                    getSupertip = "RibbonCallbacksForSupertips.getSuperTip"/>

            </group>

            <group 
                idMso="GroupParagraph"  
                getVisible="RibbonCallbacksForVisibility.getVisible"/>

                <box 
                    id="Home.Paragraph.Status"
                    boxStyle="horizontal">
                    <buttonGroup 
                        id="Home.Paragraph.Alignment">
                        <toggleButton idMso="AlignLeft"/>
                        <toggleButton idMso="AlignCenter"/>
                        <toggleButton idMso="AlignRight"/>
                        <toggleButton idMso="AlignJustify"/>    
                    </buttonGroup>

                    <buttonGroup 
                        id="Home.Paragraph.Marks"
                        visible="true">
                        <toggleButton idMso="ParagraphMarks"/>
                    </buttonGroup>

                </box>

                <box 
                    id="ParagraphIndent"
                    boxStyle="horizontal">
                    <button idMso="IndentDecreaseWord"/>
                    <button idMso="IndentIncreaseWord"/>
                </box>

                <box 
                    id = "ParagraphOther"
                    boxStyle="horizontal">
                    <gallery idMso="LineSpacingGallery"/>
                    <button idMso="SortDialogClassic"/>
                </box>

                <dialogBoxLauncher>
                    <button idMso="ParagraphDialog"/>
                </dialogBoxLauncher>

            </group>

        </tab>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...