c# Word-AddIn распознает орфографию на вкладке ленты

Различные версии Word имеют разное написание табуляции. Некоторые имеют всю метку в верхнем регистре, а другие - только первую букву. Я хочу знать, как я могу распознать написание и изменить метку вкладки на тот же регистр.

введите здесь описание изображения


person GuterProgrammierer    schedule 15.07.2020    source источник


Ответы (2)


У вас уже есть файл XML, содержащий вашу ленту, верно? Если это так, я думаю, вам лучше всего просто пойти туда, найти элемент вкладки и вручную изменить текст в атрибуте метки на все буквы в верхнем регистре.
Хотя это может быть не особенно элегантным решением, оно должно сработать. работа просто отличная. Единственный недостаток, который я могу заметить, заключается в том, что ваша лента также будет отображаться всеми заглавными буквами, если вы перейдете к «Настроить ленту» в настройках.

person Marormur    schedule 16.07.2020
comment
Это не будет ответом, потому что, как я уже писал, существуют разные версии Word с разной чувствительностью к регистру. Некоторые версии пишут СТАРТ, а некоторые Старт, так что надо как-то проверять орфографию. Мейстррр Теммен - person GuterProgrammierer; 16.07.2020
comment
Тогда я не думаю, что смогу дать хороший ответ. Я определенно видел свое решение в производственном коде, но независимо от того, используете ли вы его, вопрос в том, согласны ли вы с тем, что не оптимизируете столько для других версий, сколько для той, которая в основном используется или рассматривается как базовая. Надстройка, которую я рассматривал, была написана с учетом Office 2013, а все остальное имеет второстепенное значение. Но нет ли в вашей компании кого-нибудь с большим опытом в вопросах VSTO, к которому вы могли бы обратиться за решением, мистер Кротти? - person Marormur; 16.07.2020
comment
Нет, моя компания специализируется на VB или C, но не на C#. Но есть парень по имени Теммен. Он должен немного знать C# и Word. Я спрошу его завтра, а пока, спасибо, Теммен. - person GuterProgrammierer; 16.07.2020

С помощью этого this.Application.Version вы можете проверить версию слова. Единственное, что я делаю, это проверяю, старше ли версия 2013 года:

if (Convert.ToDouble(this.Application.Version) > 150)
{
    Globals.Ribbons.MyRibbon.WinWorker.Label = "lowercase";
}
else
{
    Globals.Ribbons.MyRibbon.WinWorker.Label = "UPPERCASE";
}
person GuterProgrammierer    schedule 23.07.2020