Artigo: 826931 - Última revisão: sexta-feira, 11 de Maio de 2007 - Revisão: 3.2

Clique em evento é desencadeado não de um objecto Word CommandBarButton personalizado

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Pode criar um documento do Microsoft Office Word 2007 ou um documento do Microsoft Office Word 2003 que utiliza uma extensão de código gerido. É possível criar a extensão de código gerido com o Microsoft Visual Studio Tools para o Microsoft Office System 2003. A extensão de código cria um objecto CommandBarButton das CommandBar objectos incorporados no Word. Quando clica neste objecto CommandBarButton , o evento clicar não ocorre na extensão de código gerido. O resultado é que não é possível determinar quando um utilizador tenta aceder o objecto CommandBarButton personalizado.

Causa

Este problema ocorre quando a propriedade tag do objecto CommandBarButton não está definida para um valor.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

A propriedade tag permite do Microsoft Office para identificar exclusivamente o objecto CommandBarButton . Isto é particularmente útil no Word, porque o Word utiliza SDI (Single documento interface). SDI permite que cada janela de documento para que o seu próprio conjunto de commandbars. Por conseguinte, a Microsoft recomenda que defina sempre a propriedade tag como uma cadeia exclusiva para cada objecto CommandBarButton que criar. Isto é especialmente importante quando adiciona o próprio objecto CommandBarButton às barras de comandos do Word existentes tais como barras de ferramentas, menus e menus de contexto.

Passos para reproduzir o problema

Os seguintes passos criar um novo objecto CommandBarButton no menu Ferramentas no Word. Para ver que o evento clicar não ocorre a menos que defina a propriedade tag do objecto CommandBarButton , siga estes passos:
  1. Inicie o Microsoft Visual Studio .NET 2003.
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
  3. Na lista de Tipos de projecto , clique em Microsoft Office System Projects e, em seguida, clique em Projectos do Visual Basic . Na lista modelos , clique em Modelo do Word . Atribua um nome novo projecto WordCommandBarTest e, em seguida, clique em OK .

    É apresentado o Microsoft Office Project Wizard.
  4. No Assistente para Microsoft Office Project, clique em Concluir .
  5. Adicione a seguinte variável de nível de classe à classe OfficeCodeBehind .
    Private WithEvents oButton As Office.CommandBarButton
  6. Adicione o seguinte código ao processador de eventos ThisDocument_New.
    ' CommandBar change applies only to the new document.
    ThisApplication.CustomizationContext = ThisDocument
    
    ' Obtain the Tools menu for Word.
    Dim toolsMenu As Office.CommandBarPopup = _
        CType(ThisApplication.CommandBars.FindControl(, 30007), _
        Office.CommandBarPopup)
    
    ' Add your new item to the Tools menu.
    oButton = _
        CType(toolsMenu.Controls.Add(Office.MsoControlType.msoControlButton), _
        Office.CommandBarButton)
    oButton.Caption = "My New Button"
    'oButton.Tag = "My New Button Tag"
  7. Adicione a seguinte função à classe OfficeCodeBehind .
    Private Sub oButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles oButton.Click
        MessageBox.Show("My New Button click!")
    End Sub
  8. No menu criar , clique em Criar soluções .
  9. No menu Debug , clique em Iniciar .

    Inicia o Word e um novo documento é criadas a partir do modelo.
  10. No menu Ferramentas no Word, clique nos meus botão novo .

    Tenha em atenção que o evento Click do botão não é despoletado.
  11. Para resolver o problema, uncomment a seguinte linha de código no evento ThisDocument_New .
    'oButton.Tag = "My New Button Tag"
    Agora quando sair do Word e, em seguida, executar novamente a solução, repara que o evento Click do botão os meus novo é accionado como previsto.

A informação contida neste artigo aplica-se a:
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Visual Studio Tools for the Microsoft Office System version 2003
Palavras-chave: 
kbmt kbprb kbnofix KB826931 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 826931  (http://support.microsoft.com/kb/826931/en-us/ )