Надстройка COM не уходит в Word 2007 - PullRequest
0 голосов
/ 27 марта 2011

Итак, у меня есть два разных надстройки COM, одно для слова 2k3 и одно для 2k7.Слово 2k3 работает как брелок каждый раз, никаких проблем и т. д. ... но теперь, когда я открываю слово 2k7, кнопки из 2k3 появляются на моей ленте 2k7.Это по-прежнему происходит даже после того, как я отключил надстройку или очистил свой проект ... Я перепробовал все, включая удаление всех dll-файлов для моего надстройки 2k3, но проблема все еще сохраняется ...

любые предложения по проблемеэто?

ура

Ответы [ 3 ]

1 голос
/ 28 марта 2011

Если вы настроите эти кнопки в шаблоне ДРУГОЕ, чем normal.dot, они автоматически «уйдут» при установке.

Обычно вносить изменения в Normal.dot считается плохой практикой, но многие люди не понимают, что если вы не зададите свойство «CustomizationContext» в слове перед созданием собственных кнопок и панелей инструментов, это именно то, что вы делаете. делать, изменяя normal.dot, и эти изменения сохранятся после того, как вы удалили надстройку.

0 голосов
/ 04 сентября 2011

Я подозреваю, что проблема связана с шаблоном normal.dot.Попробуйте сохранить нормальный шаблон после удаления кнопок, панелей команд и т. Д., Используя:

wordApplication.NormalTemplate.Save();
0 голосов
/ 27 марта 2011

Вы должны «вручную» удалить кнопку как часть процесса удаления.Это код, который я использую:

    public static void removeWordToolbarButton(
        Microsoft.Office.Interop.Word.Application word )
    {
        var commandBar = word.CommandBars["Tools"];
        var btn = commandBar.FindControl(
            Microsoft.Office.Core.MsoControlType.msoControlButton,
            System.Reflection.Missing.Value,
            "name_of_the_button",
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value ) as Microsoft.Office.Core.CommandBarButton;
        if ( btn != null )
        {
            btn.Delete( -1 );
            Marshal.ReleaseComObject( btn );
        }
        Marshal.ReleaseComObject( commandBar );
    }
...