Добавить элементы управления в существующую группу лент в Office (VSTO) - PullRequest
6 голосов
/ 05 октября 2010

Я нашел множество примеров того, как добавить новую группу к существующей ленте, и это прекрасно работает.

Я не могу понять, как я могу добавить новые элементы управления в существующую группу на существующей ленте. Скажем, я хочу добавить свою собственную команду в группу «Проверка» на вкладке «Проверка».

Я разрабатываю это в VS2010 для Office2010, но, полагаю, такой же подход будет работать и в Office 2007.

Любые указатели или помощь приветствуются, или, если это невозможно (без особого взлома), я тоже могу с этим смириться.

Ответы [ 2 ]

8 голосов
/ 05 октября 2010

К сожалению, это невозможно.Вы можете добавлять элементы управления только в пользовательские группы в Office 2007/2010.

Встроенные группы - это совсем не то, что пользовательские группы, которые вы можете добавить.Например, вы увидите, например, что встроенные группы, такие как группы для шрифтов и форматирования абзацев, ведут себя по-разному в отношении изменения размера окна приложения.

1 голос
/ 14 марта 2013

Хотя вы не можете изменять встроенные группы, вы можете скрыть их. Скрыв встроенную группу, вы можете заменить ее на похожий элемент, к которому добавили свои элементы управления. Вам нужно будет знать идентификатор группы, которую нужно скрыть, и содержимое группы, чтобы воссоздать ее. Этот сайт предоставляет подробную информацию: Изменение встроенных групп на ленте . Одно предупреждение: поскольку вы не изменяете группу, ваша воссозданная группа не будет отражать изменения стандарта в группе, которую Microsoft вносит в разные версии Office.

Вот файл custoumUI.xml, который скрывает встроенную группу проверки и заменяет ее копией версии группы в Excel 2007:

<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <!-- Point to the Built-in tab to the ribbon -->
      <tab idMso="TabReview">
        <!-- Set visible to false for native Proofing group-->
        <group idMso="GroupProofing" visible="false"/>
        <!-- Add custom Proofing group -->
        <group insertBeforeMso="GroupProofing" label="Proofing" id="DupProofing">
          <button idMso="Spelling" size="large"/>
          <toggleButton idMso="ResearchPane" size="large"/>
          <button idMso="Thesaurus" size="large"/>
          <button idMso="TranslationPane" size="large"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
...