Я пытаюсь написать надстройку уровня приложения для 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