Я пытаюсь написать надстройку уровня приложения для Word 2003. Плагин добавляет кнопку в новую панель управления - нажатие кнопки сохраняет активный документ, а затем выполняет некоторые действия дополнительные действия. Когда я запускаю Word 2003, а затем нажимаю кнопку моей командной панели, все работает нормально. Однако, если я запустил Word 2003, откройте новое окно Word, нажав кнопку на панели инструментов «Новый документ» на панели инструментов «Стандартная», а затем нажмите кнопку «Моя кнопка», и вы увидите, что никаких действий не выполняется. Кажется, что моя кнопка панели инструментов в новом открывшемся окне не имеет назначенного обработчика события onclick. У вас есть идеи, как решить проблему?
Мой надстройку код основан на коде ниже:C#, Word 2003 addIn и событие кнопки панели инструментов
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
Это взломать. Вам не обязательно это делать. Каждое офисное приложение обрабатывало постоянные строки команд по-разному. – AMissico