Excel 2016: Использование ленты XML для добавления группы анализа на пользовательскую вкладку для Windows и Mac - PullRequest
0 голосов
/ 14 октября 2018

Я добавляю последние штрихи к настраиваемой вкладке, которую я добавил в ленту Excel 2016, используя XML, с одной последней проблемой, которую я, похоже, не могу обойти: кажется, я не могу найти атрибут idMso для группы анализа обычнонаходится на вкладке «Данные».Для простоты использования для предполагаемых пользователей я бы хотел добавить группу «Анализ» и на свою настраиваемую вкладку.Несколько вопросов по этой проблеме:

1) Что такое атрибут idMso для группы «Анализ», чтобы я мог добавить его на свою настраиваемую вкладку?

2) Можно ли использовать код XML длягарантировать, что Tookpak для анализа данных ВСЕГДА добавляется в мою пользовательскую группу анализа?Если да, может кто-нибудь предложить код для этого?

3) Сейчас я разрабатываю этот код для работы в Excel 2016 для Windows.В конце концов, однако, я хочу включить этот код в надстройку для пользователей Windows и Mac.Будет ли этот код XML работать для Excel 2016 для Windows и Mac?Если нет, то возможно ли использовать условную логику в XML и проверить код, является ли ОС Windows или Mac, а затем запустить соответствующий код XML, чтобы добавить нужные пользовательские кнопки и стандартные группы Excel на мою настраиваемую вкладку?

1 Ответ

0 голосов
/ 25 октября 2018

Обзор

Я понял это путем поиска имени файла FUNCRES.XLAM, указанного в supertip кнопки Data Analysis после установки надстройки.Затем я открыл файл с помощью Custom UI Editor Tool для просмотра XML.Я сохранил файл примера в GitHub .


  1. Вы можете ссылаться на действие, но не на элементы управления пользовательского xlam, например onAction="FUNCRES.XLAM!ShowATPDialog".

  2. Вы можете добавить кнопку в свою пользовательскую группу с помощью следующего XML.К вашему сведению, надстройка должна быть загружена, чтобы кнопка работала.

XML-код

<button 
    id="btnDataAnalysisTools"
    label="Data Analysis"
    imageMso="XmlMapProperties"
    onAction="FUNCRES.XLAM!ShowATPDialog"
    size="large"
    screentip="Data Analysis Tools"
    supertip="Tools for financial and scientific data analysis. Referenced from FUNCRES.XLAM"
/>

Пример видео

video

2a.Следующие параметры доступны, если вы хотите загрузить надстройку во время выполнения. Ссылка

  • Application.RegisterXLL
    • Это метод, который можно вызывать из VBA, который загружает XLL в определенном месте и регистрирует содержащиеся в нем функции и команды.в XLL.
  • AddIns.Add
    • Этот метод можно вызывать из VBA, который загружает надстройки любого типа (XLL, XLA или XLAM).После загрузки надстройки выполните шаг 3, чтобы открыть ее.
  • AddIn.Installed = true
    • Как только у вас появится ссылка на загруженную надстройку, установитеAddIn.Installed = true, чтобы вызвать надстройку.
    • Обратите внимание, что надстройки, известные при запуске Excel с переключателем / Automation, уже будут помечены как «Установленные», но онине открытВ этом случае Set Installed = false перед установкой Installed = true

Код VBA

Private Sub Workbook_Open()
    Dim success As Boolean
    Dim myAddIn As AddIn

    ' Load XLL
    success = Application.RegisterXLL("c:\myaddins\myxll.xll")

    ' Load and install new XLAM
    Set myAddIn = Application.AddIns.Add("c:\myaddins\myxlam.xlam")
    myAddIn.Installed = True

    ' Load known XLAM
    For Each myAddIn In AddIns
        If myAddIn.Name = "myknownaddin.xlam" Then
            myAddIn.Installed = False
            myAddIn.Installed = True
        End If
    Next
End Sub

Если ваша надстройка должна работать на всех платформах, которые поддерживают определенные вами методы, вам необходимо использовать JavaScript API для Office
...