2016-07-28 2 views
0

Я новичок в программировании, но я попытался поэкспериментировать с лентами Excel. Я использую Редактор пользовательского интерфейса. Я хотел использовать элементы insertBefore и insertAfter для изменения моих пользовательских кнопок. Если я не использую уникальное пространство имен и insertAfterQ/insertBeforeQ на уровне кнопки, порядок кнопок не изменяется, однако, если я его использую, я не вижу соответствующий макрос (возможно, из-за моего пространства имен), поэтому onAction ничего не сделает после нажав кнопки. Я пробовал различные комбинации idQ, но я не могу заставить его работать. В приведенном ниже примере правильно выполняется только кнопка 2, которая не указана в указанном пространстве имен. Простого пример:Изменение пользовательских кнопок

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="MyNameSpace"> 
    <ribbon> 
     <tabs> 
      <tab idQ="x:customTab" label="My Order Form" insertAfterMso="TabHome"> 
       <group idQ="x:customGroup" label="My Order Form Tools"> 
        <button idQ="x:customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" /> 
        <button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" /> 
        <button idQ="x:customButton3" label="Home" size="large" onAction="NewOrder" insertBeforeQ="x:customButton1" image="neworder" /> 
       </group>     
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

Есть ли способ, чтобы сделать работу OnAction в пространстве имен? Или есть другой способ? Большое спасибо, TS

ответ

0

Вам действительно нужно пространство имен?

Если вы хотите изменить свои собственные элементы управления, просто поменяются местами в XML:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <ribbon> 
     <tabs> 
      <tab id="customTab" label="My Order Form" insertAfterMso="TabHome"> 
       <group id="customGroup" label="My Order Form Tools"> 
        <button id="customButton3" label="Home" size="large" onAction="NewOrder" image="neworder" /> 
        <button id="customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" /> 
        <button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" /> 
       </group>     
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

Если вы хотите разместить контроль относительно встроенных элементов управления, используйте insertBeforeMso или insertAfterMso, как в вашем "customTab" , Из того, что я могу сказать, вам нужно использовать пространство имен и idQ-идентификаторы, если вы объединяете элементы управления из customUI-xml в разные файлы.

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