Я пытаюсь написать надстройку уровня приложения для Word 2003. Плагин добавляет кнопку на новую панель команд - нажатие кнопки сохраняет активный документ, а затем выполняет некоторые дополнительные действия. Когда я запускаю Word 2003 и нажимаю кнопку на панели команд, все работает нормально. Однако, если я запускаю Word 2003, открываю новое окно Word, нажимая на панели инструментов кнопку «Новый документ» на «Стандартной» панели инструментов, а затем нажимая кнопку моей командной панели, оказывается, что никаких действий не выполняется. Кажется, что моя кнопка на панели инструментов в новом открытом окне не имеет назначенного обработчика событий «onclick». У вас есть идеи, как решить эту проблему?
Мой код надстройки основан на приведенном ниже коде:
private Office.CommandBar commandBar;
private Office.CommandBarButton docSaveButton;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// prepare toolbar:
try
{
commandBar = Application.CommandBars["MY_TOOLBAR"];
}
catch (ArgumentException)
{
//...
}
if (commandBar == null)
{
commandBar = Application.CommandBars.Add("MY_TOOLBAR", 1, missing, true);
}
commandBar.Visible = true;
// addbutton:
docSaveButton = (Office.CommandBarButton)commandBar.Controls.Add(1, missing, missing, missing, missing);
docSaveButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonIcon;
docSaveButton.Caption = "My save";
docSaveButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(docSaveButtonClick);
}
private void docSaveButtonClick(Office.CommandBarButton ctrl, ref bool cancel)
{
MessageBox.Show("Hello !", "Hello !", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
С уважением, JanK