2009-04-16 5 views
3

Est-il possible de placer le contrôle de zone de texte dans la barre d'outils personnalisée dans Excel. J'ai créé un Add-in qui montre cette barre d'outils. Ce que je veux faire, c'est quand l'utilisateur tape dans le textbox Add-in devrait appeler une procédure ou une fonction en fonction de ce que l'utilisateur a tapé.Zone de texte dans la barre d'outils personnalisée

Je voudrais le faire en VBA dans MS Excel.

Merci.

+0

Quelle version d'Excel utilisez-vous? (Ruban UI ou barres de commande?) – RedBlueThing

+0

J'utilise Excel 2003 – THEn

Répondre

0

j'ai découvert:

Sub test() 
    Set myControl = CommandBars("Test").Controls.Add(Type:=msoControlEdit, Before:=1) 
    With myControl 
     .Caption = "Search" 
     .OnAction = "Tester" 
    End With 
End Sub 


Sub Tester() 
    MsgBox "I am gonna search for: " & CommandBars("Test").Controls(1).Text 
    CommandBars("Test").Controls(1).Text = "" 
End Sub 
3

Si vous utilisez Excel 2007 et ont mis en œuvre IRibbonExtensibility :: GetCustomUI alors vous pouvez utiliser le code XML suivant pour définir une zone d'édition dans votre GUI Addin:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
    <ribbon startFromScratch="false"> 
     <tabs> 
      <tab id="MyTab" label="My Tab"> 
       <group id="MyGroup" label="My Group"> 
        <editBox id="MyEditBox" getText="MyEditBoxCallbackgetText" label="Editbox Label" onChange="MyEditBoxCallbackOnChange"/> 
       </group> 
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 
+0

Cela semble bon. Je devrais envisager de passer à 2007. Merci. – THEn

+0

Quand j'ai l'occasion, je peux vous donner le code pour 2003, en passant la porte maintenant;) – RedBlueThing

+0

Merci, ce serait génial. – THEn

Questions connexes