Как удалить все панели команд в шаблоне Excel 2007.xltx и добавить собственную панель команд с собственными элементами управления?
Я использую VS 2010 для создания шаблона Excel 2007 xltx. Я хочу удалить все панели команд Excel и отключить их показ пользователям и добавить собственную панель команд со своими элементами управления. И в некоторых элементах управления я хочу вызвать функцию VBA, которая будет в этом шаблоне. Я думаю, что эту операцию я должен сделать в:
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
}
private void ThisWorkbook_Shutdown(object sender, System.EventArgs e)
{
}
Любое предложение? Благодарю. Я использую VS 2010 для создания шаблона Excel 2007 xltx. Я хочу удалить все панели команд Excel и отключить их показ пользователям и добавить собственную панель команд со своими элементами управления. И в некоторых элементах управления я хочу вызвать функцию VBA, которая будет в этом шаблоне. Я думаю, что эту операцию я должен сделать в:
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
}
private void ThisWorkbook_Shutdown(object sender, System.EventArgs e)
{
}
Любое предложение? Благодарю.
UPD1: я пытаюсь:
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
foreach (CommandBar bar in this.Application.ThisWorkbook.CommandBars)
{
bar.Visible = false;
//or bar.Delete();
}
}
Но я получаю сообщение об ошибке: System.Runtime.InteropServices.COMException (0x800A03EC): Исключение из HRESULT: 0x800A03EC в Microsoft.Office.Interop.Excel._Application.get_ThisWorkbook() в T100.ThisWorkbook.ThisWorkbook_Startup в объекте отправителя события (Отправитель объекта): \ PROJECTS \ T100 \ T100 \ ThisWorkbook.cs: строка 20 в Microsoft.Office.Tools.Excel.WorkbookImpl.OnStartup () в Microsoft.Office.Tools.Excel.WorkbookImpl.WorkbookExtensionImpl.Microsoft.Office.Tools.Onup.Point () в Microsoft.Office.Tools.Excel.WorkbookBase.OnStartup () в T100.ThisWorkbook.FinishInitialization () в G:\PROJECTS\T100\T100\ThisWorkbook.Designer.cs: строка 57 в Microsoft.Office.Tools.Excel.WorkbookBase.Microsoft.Office..VisualStudio.Tools.Office.Runtime.Interop.IExecuteCust omization2.ExecuteEntryPoints ()
1 ответ
Добавьте новую ленту в свой проект и установите ее в своей ленте xml
<ribbon startFromScratch="true">
Если вы используете дизайнер ленты, вы можете найти свойство startFromScratch в вашем окне свойств, установив для него значение "true".