MS Word-Plugin, Hinzufügen einer Schaltfläche, die auf ausgewählten Text auf der rechten Maustaste erscheint

StackOverflow https://stackoverflow.com/questions/684438

  •  22-08-2019
  •  | 
  •  

Frage

Ich arbeite an einem gemeinsamen Addin für MS Word 2007. Ich möchte eine Schaltfläche hinzufügen, die erscheint, wenn ausgewählte Text wird rechts geklickt. Der beigefügte Snapshot soll dies verdeutlichen.

Zur Zeit hat der Benutzer den Text auswählen und dann auf eine Schaltfläche auf einem benutzerdefinierten Steuerelement klicken. Es wäre viel einfacher, wenn nach dem Text markiert, s / er Recht darauf klicken kann, und drücken Sie auf die entsprechende Schaltfläche im Popup.

alt text

War es hilfreich?

Lösung 2

Hier ist, wie dies getan werden kann ...

Microsoft.Office.Core.CommandBar cellbar = diff.CommandBars["Text"];
Microsoft.Office.Core.CommandBarButton button = (Microsoft.Office.Core.CommandBarButton)cellbar.FindControl(Microsoft.Office.Core.MsoControlType.msoControlButton, 0, "MYRIGHTCLICKMENU", Missing.Value, Missing.Value);
if (button == null)
{
   // add the button
   button = (Microsoft.Office.Core.CommandBarButton)cellbar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton, Missing.Value, Missing.Value, cellbar.Controls.Count + 1, true);
   button.Caption = "My Right Click Menu Item";
   button.BeginGroup = true;
   button.Tag = "MYRIGHTCLICKMENU";
   button.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(MyButton_Click);
}

Andere Tipps

Sie müssen die richtige contextmenu verlängern. Der folgende Link beschreibt in Worten (ohne Quellcode), wie dies erreicht werden kann:

Geteilt Addin mit Word

Vielleicht Link könnte ein wenig mit der Codierung helfen. Ich habe es aus mir selbst nicht ausprobiert, aber es könnte in die richtige Richtung.

Viel Glück! :)

Edit:

Hat es das Band-Stil Kontextmenü oder eine Taste im normalen Kontextmenü wäre genug? Im Fall würde das normale Menü ok sein, können Sie auf diese Weise (C #) verwenden:

 Microsoft.Office.Core.CommandBar cb = this.Application.CommandBars["Text"];

 Office.CommandBarControl newButton = cb.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, missing);  
 newButton.Caption = "Test";
 newButton.Visible = true;
 newButton.Enabled = true;

Sie können dies tun, mit VSTO, ich bin nicht so sicher, ob es genau die gleiche Art und Weise mit der gemeinsamen Add-In-Technik arbeitet, aber vielleicht hilft es,)

MSDN -

  

Sie können die Mini-Symbolleiste programmatisch nicht ändern.

etwas mehr als zur Hälfte des doc nach unten. Suchen Sie auf Mini-Symbolleiste.

Edit: Das Popup Sie im Bild eingekreist haben oben nicht auf der rechten Maustaste angezeigt wird, erscheint es auf Highlight. Das Kontextmenü (unter dem ausgewählten Text) könnte Ihre eigene Funktionalität, aber nicht in der Mini-Symbolleiste.

http://groups.google.com/group/microsoft.public.word.docmanagement/browse_thread/thread/cf55d996b3f51a06/65b2bad22e2a3583?lnk=st&q=Removing+Items+from+Word+2007 ist, wie es in VBA zu tun. Es ist sehr ähnlich mit COM und wahrscheinlich ein Wort Add-In zu schaffen (ich habe es nicht obwohl versucht) Sie müssen im Grunde die Kontextmenüsteuerung zu finden und ein Element, um es (Ihre Funktion) hinzuzufügen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top