Настройка ленты с VBA в Excel
Я уже узнал, что создание настраиваемой вкладки в Excel невозможно! пост (в отличие от MSProject)
В частности, могу ли я изменить пути макросов к текущему местоположению?
Редактировать Кажется, что эта страница может привести к ответу, но я все еще не знаю как, хотя
Несколько более подробное описание ситуации:
Пользователь будет загружать файл, который содержит список материалов, оборудования, труда. Каждый столбец содержит информацию о количествах, ценах и т. Д. Когда пользователь нажимает на эту кнопку, которую я хочу создать (я создал вручную), макрос под названием "Основной" в другой книге запускает и копирует весь лист (содержимое) в себя и выполняет некоторые вещи, которые делают процедуры, на этом.
Итак, проблема, с которой я сталкиваюсь, заключается в том, что когда я отправляю новую версию клиенту, он должен поместить ее в точное место, иначе она не будет работать. Поскольку речь идет о соединении компьютеров Mac и Windows, я бы предпочел увидеть ситуацию, когда кнопка назначается процедуре, когда пользователь открывает WorkBook B (та, которая содержит код).
Таким образом, новую версию нужно открывать только один раз, а затем для непрерывного использования пользователь может просто открыть загруженный файл, нажать соответствующую кнопку, и WorkBook B откроется и запустится.
Может быть, есть другие способы сделать это. Я не проверял, не проще ли назначить кнопку на панель быстрого доступа...
1 ответ
Вот некоторый код, который я использую для добавления пользовательской панели инструментов:
Set cbToolbar = Application.CommandBars.Add(csToolbarName, msoBarTop, False, True)
With cbToolbar
Set ctButton1 = .Controls.Add(Type:=msoControlButton, ID:=2950)
Set ctButton2 = .Controls.Add(Type:=msoControlButton, ID:=2950)
Set ctButton3 = .Controls.Add(Type:=msoControlButton, ID:=2950)
End With
With ctButton1
.Style = msoButtonIconAndCaption
.Caption = "Set &Picklists"
.FaceId = 176
.OnAction = "SetPicklist"
End With
With ctButton2
.Style = msoButtonIconAndCaption
.Caption = "Set &Defaults"
.FaceId = 279
.OnAction = "SetDefaults"
End With
With ctButton3
.Style = msoButtonIconAndCaption
.Caption = "&Visibility Settings"
.FaceId = 2174
.OnAction = "VisibilitySettings"
End With
With cbToolbar
.Visible = True
.Protection = msoBarNoChangeVisible
End With
OnAction контролирует макрос, который запускается... Если вы хотите развернуть его для запуска макроса в определенной книге, используйте "what.xls!MacroName"