#excel #vba
Вопрос:
У меня есть этот файл .xlsm с пользовательской лентой. Он имеет 8 кнопок, назначенных пользовательским макросам. Есть ли способ извлечь пользовательскую ленту в файл .xlam? Если нет, есть ли какой-либо способ открыть эту пользовательскую ленту из другого файла .xlsm?
Комментарии:
1. Я не совсем уверен, какова конечная цель, но редактор RibbonX может быть полезен.
2. Также смотрите здесь инструкции и пример: contextures.com/excelribbonaddcustomtab.html
Ответ №1:
Я использую этот код для извлечения файла customUI из файла Excel. Он создает копию файла, из которого затем customUI14.xml файл извлекается. Предположение: C:Program Files7-Zip7z.exe имеется в наличии
Я добавил этот фрагмент кода в sourcetools.xla, чтобы не только извлечь модули, но и пользовательский интерфейс для управления версиями.
Public Sub extractCustomUIToFolder(wb As Workbook, pathTarget As String)
Dim tmp As String
tmp = wb.Path amp; "~temp.xlsm"
wb.SaveCopyAs tmp
Dim strShellString As String
strShellString = "e " amp; Chr$(34) amp; tmp amp; Chr$(34) amp; _
" -o" amp; Chr$(34) amp; pathTarget amp; "" amp; Chr$(34) amp; _
" customUI14.xml -r -aoa"
Dim exePath As String
exePath = Chr$(34) amp; "C:Program Files7-Zip7z.exe" amp; Chr$(34) amp; " "
Call Shell(exePath amp; strShellString)
Kill tmp
End Sub
Используя соответствующие команды, также можно «повторно импортировать» customUI14.xml файл в xlam
Ответ №2:
Единственная документация, которую я могу найти об импорте и экспорте пользовательских лент, находится здесь
и вот
- Нажмите кнопку Файл
- Выберите Параметры.
- Выберите Настроить ленту.
- Выберите Импорт/Экспорт.
- Выберите Экспортировать все настройки.
- Выберите пункт назначения и имя файла в окне Сохранения файла.
- Нажмите кнопку Сохранить, чтобы закончить.