2010-01-21 2 views
3

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

ответ

0

не сделали этого в Word, но я верю в Outlook, я получил его на работу, прослушав NewWindow События (называемые Explorers and Inspectors in Outlook) и повторное добавление кнопки при создании нового окна (и использование «true» в качестве последнего параметра в commandBar.Controls.Add, чтобы сделать кнопку «временной», чтобы вы не в конечном итоге с двумя из них.

P.S. Я согласен, что он должен работать так, как вы ожидаете, и не уверен, почему это необходимо (или как оно должно работать, если «temp» «false»).

+0

Это взломать. Вам не обязательно это делать. Каждое офисное приложение обрабатывало постоянные строки команд по-разному. – AMissico

1

Я подозреваю, что ваш «надстройщик» не загружен, но ваша панель инструментов сохраняется. Вы разместили свою «надстройку» в одном из мест запуска Word?

Часто задаваемые вопросы о расположении шаблонов в Word 2003 или Word 2007, Q3: Где Мое Слово Надстройка в файлах ?, http://support.microsoft.com/kb/826867.

Загрузка Слово надстройку, второй патрон, http://msdn.microsoft.com/en-us/library/aa165426(office.10).aspx

• Автоматически при запуске Word, с помощью сохранения файла шаблона в папке Startup Слово на вашем компьютере. Путь по умолчанию к этой папке: C: \ Windows \ Application Данные \ Microsoft \ Word \ Startup; если вы используете с использованием профилей пользователей, путь по умолчанию : C: \ Windows \ Profiles \ UserName \ Application Данные \ Microsoft \ Word \ Startup. Вы можете изменить этот путь в опции диалогового окна

Смежные вопросы