public void RegisterToolbar() { m_toolBar = null; // Remove the toolbar if it exists try { CommandBars bars = (CommandBars)m_applicationObject.CommandBars; m_toolBar = bars[TOOL_BAR_NAME]; // it seems this will never execute if (m_toolBar != null) { m_toolBar.Delete(); m_toolBar = null; } } catch { } // Create the toolbar if (m_toolBar == null) { CommandBars bars = (CommandBars)m_applicationObject.CommandBars; m_toolBar = bars.Add(TOOL_BAR_NAME, MsoBarPosition.msoBarTop, System.Type.Missing, true); // Load saved toolbar settings m_toolBar.Visible = m_addInSettings.ToolBarVisible; m_toolBar.Position = m_addInSettings.ToolBarPosition; if (m_addInSettings.ToolBarTop.HasValue) { m_toolBar.Top = m_addInSettings.ToolBarTop.Value; } if (m_addInSettings.ToolBarLeft.HasValue) { m_toolBar.Left = m_addInSettings.ToolBarLeft.Value; } if (m_addInSettings.ToolBarRowIndex.HasValue) { m_toolBar.RowIndex = m_addInSettings.ToolBarRowIndex.Value; } } // Add the buttons to the toolbar foreach (AddInCommandBase cmd in m_commands) { cmd.InitToolbars(m_toolBar); } }