Копировать панель инструментов LibreOffice

Автор ost, 2 июля 2017, 16:25

0 Пользователи и 1 гость просматривают эту тему.

ost

Доброго.
В Libre Office Calc создана пользовательская панель инструментов. Можно ли скопировать панель из Calc в документ.ods и как это сделать?
Спасибо.

rami

Выбираете нужную панель и сохраняете в документе (можно и в шаблоне):

ost

Не получается.
Поле со списком "Сохранить в", обозначенное на Вашем скриншоте красной стрелкой, работает у меня (Windows 7 (64) LO 5.3.3.2 (x64)) как фильтр для поля со списком "Панель инструментов". Кнопка "Панель инструментов" в окне "Настройка" (на вашем скиншоте не видна) содержит две возможности: "Переименовать..." и "Удалить".

rami

#3
Цитата: ost от  3 июля 2017, 06:55Не получается.
Посмотрел в Справке написано: "Невозможно загрузить конфигурацию из одного расположения и сохранить её в другом расположении."

Так, что доступными методами настройки не получится. Остаётся только создать новую панель вручную по образцу.

rami

Цитата: rami от  3 июля 2017, 07:44Посмотрел в Справке написано: "Невозможно загрузить конфигурацию из одного расположения и сохранить её в другом расположении."
А если не смотреть в Справку, то оказывается, можно:
Sub CopyToolbars    'Переносит панели инструментов пользователя из офиса в документ
Dim forCalc, forWriter, sDocType$, oSupplier, oOfficeConfig, oDocConfig, oSettings, x, n%
forCalc="com.sun.star.sheet.SpreadsheetDocument"             'для Calc
forWriter="com.sun.star.text.TextDocument"                   'для Writer
If ThisComponent.supportsService(forCalc) Then
sDocType=forCalc
ElseIf ThisComponent.supportsService(forWriter) Then
sDocType=forWriter
Else
Exit Sub
End If
oSupplier=CreateUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")
oOfficeConfig=oSupplier.getUIConfigurationManager(sDocType)  'менеджер офиса
oDocConfig=ThisComponent.getUIConfigurationManager()         'менеджер документа
For Each x In oOfficeConfig.getUIElementsInfo(0)
If InStr(x(0).value,"custom") Then
n=MsgBox("Перенести в документ панель инструментов """ & x(1).value & """ ?",36, "Панели инструментов пользователя")
If n=6 Then
oSettings=oOfficeConfig.getSettings(x(0).value,true)
If Not oDocConfig.hasSettings(x(0).value) Then oDocConfig.insertSettings(x(0).value,oSettings)
End If
End If
Next
MsgBox "Больше нет панелей для переноса", 64, "Информация"
End Sub

mikekaganski

Цитата: rami от  4 июля 2017, 08:42
А если не смотреть в Справку, то оказывается, можно:

;D
С уважением,
Михаил Каганский