2017-01-05 7 views
1

Привет ребята я изо всех сил, чтобы найти решение моей проблемыКак создать надстройку с панелью инструментов в нем

я разработал несколько UserForms и написал множество функций, в книге, и я добавил новую панель инструментов с кнопками, называющих эти функции.

Теперь я хочу сохранить эту книгу как добавленную так, чтобы при добавлении добавления в другой компьютер появлялись панели инструментов.

но панели инструментов не отображаются. Я мог бы сохранить книгу как дополнение со всеми функциями и пользовательскими формами, но я не смог получить панель инструментов.

любое предложение?

Большое спасибо за вашу помощь

+0

Вы разместили файл в папке XLStart? https://support.office.com/en-us/article/Customize-how-Excel-starts-6509b9af-2cc8-4fb6-9ef5-cf5f1d292c19 –

+0

Возможный дубликат [Как добавить пользовательскую вкладку Ribbon с помощью VBA?] (http://stackoverflow.com/ вопросы/8850836/как к надстройке а-обычая-лента-закладка-используя-VBA) – Carrosive

ответ

1

отнюдь не решение, но, возможно, следующее дает отправную точку:

Из того, что вы говорите, я полагаю, вам удалось

  • активировать ваш * .xlam надстройка на другом компьютере
  • вы можете получить доступ ко всем его vba-кодом и формулярам пользователя
  • вы можете не доступа это CustomUI ленточный

Проверьте, если ваш окончательный *.xlam все еще имеет панель инструментов на панели инструментов в нем при развертывании его:

  • сделать резервную копию ваших готовых к развертыванию добавить в файл (*.xlam).
  • открыть файл, либо изменив его расширение файла на .zip. (Нет необходимости переименовывать его, если вы используете файловый архиватор, такой как 7-zip)
  • содержание файла \customUI\customUI.xml должно примерно напоминать следующее.

Пример XML:

<customUI 
xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
xmlns:shared="sharedNamespace" 
onLoad="onLoadRibbonDB" 
> 
<ribbon> 
    <tabs> 
     <tab idQ="shared:tabControls" label="AddIn_Beispiele" > 

      <group id="grpA" label="Buttons"> 
       <button id="buttonA" label="Button_large" image="bunny2" onAction="buttonA_Click" size="large"/> 
      </group>  

     </tab> 
    </tabs> 
</ribbon> 
</customUI> 

Обратите внимание, что Excel не будет показывать ленту, если есть даже незначительные ошибки в нем. Для тестирования исключите все, что может привести к ошибке, а затем повторите ввод ленточных элементов управления шаг за шагом. При обнаружении следующих наиболее распространенным:

  • идентификаторы не различаются (например, используемые в других лентах/надстроек)
  • пользовательские иконки не отформатирован правильно
  • пользовательские иконки не ссылаются правильно

Не по теме: если вы планируете развернуть файл через множество компьютеров, простой макрос вроде следующего может работать для вас:

Sub InstallAddIn() 

    On Error GoTo skpError 

    Dim path as String 
    path = "L:\SQL_AddIn\SQL_AddIn_V1.0.xlam" 
    name = "SQL_AddIn_V1.0" 

    ' Copy the file 
    With New FileSystemObject 
     .CopyFile _ 
      path _ 
      , "C:\Users\" & Environ("USERNAME") & "\AppData\Roaming\Microsoft\AddIns\" 
    End With 

    ' Add-In Aktivieren 
    AddIns(name).Installed = True 
    MsgBox ws1.Cells(1, 2).Value & " installiert.", vbInformation 
    Exit Sub 

skpError: 
    MsgBox "Fehler #" & Err & vbNewLine & Error 

End Sub 

 Смежные вопросы

  • Нет связанных вопросов^_^