Benutzer mit den meisten Antworten
An welchen Textstellen in Word ist das Kontextmenü verfügbar?

Frage
-
Hallo,
eigene Kontextmenüs sind eine feine Sache und erleichtern doch die Bereitstellung von Makrofunktionen erheblich: Rechtsklick und ich habe neben den üblichen Copy-Paste-etc-Funktionen meine eigenen.
Leider funktioniert dieser Rechtsklick so nicht immer, also der Rechtsklick zeigt schon immer eine Kontextmenü an, aber an vielen Stellen im Text eben nur die Standardfunktionen. Mittlerweile habe ich folgende Bedingungen festgestellt, unter denen meine individuellen Funktionen nicht gelten und zwar:
- in Gliederungstext (Ebene 1 und höher)
- in Aufzählungen
- in Formularfeldern.Gibt es hierzu konkrete Aussagen? Wie schaffe ich es, dass meine individuelles Kontextmenü überall oder doch fast überall verfügbar ist. Gut, ein Kontextmenü sollte auch kontextabhängig sein, und irgendwie kann ich auch nachvollziehen, dass ein Kontextmenü über einer Überschrift anders aussieht als über normalem Fließtext. Wie bekomme ich das kontextsensitive in die Kontextmenüs? Ich kenne eigentlich nur das CommandBars("Text")-Objekt an das ein Control vom Typ msoControButton engehängt wird.
Meine Beobachtungen beziehen sich auf Word in den Versionen 2003 - 2010.
Grüße aus Köln am Rhein - Klaus Trapp
Antworten
-
Naja, Du musst Sie eben in die gewünschten Popups reinhängen, nicht nur in "Text", welche das sind kannst Du ganz einfach ausprobieren.
Andreas.
Sub AddPop()
Dim C As CommandBar
On Error Resume Next
For Each C In CommandBars
If C.Type = msoBarTypePopup Then
With C.Controls.Add(msoControlButton, Temporary:=True)
.Caption = "->" & C.Name
End With
End If
Next
End Sub
Sub DeletePop()
Dim C As CommandBar
On Error Resume Next
For Each C In CommandBars
If C.Type = msoBarTypePopup Then
C.Controls("->" & C.Name).Delete
End If
Next
End Sub
- Als Antwort markiert Klaus Trapp Mittwoch, 2. Januar 2013 09:23
Alle Antworten
-
Naja, Du musst Sie eben in die gewünschten Popups reinhängen, nicht nur in "Text", welche das sind kannst Du ganz einfach ausprobieren.
Andreas.
Sub AddPop()
Dim C As CommandBar
On Error Resume Next
For Each C In CommandBars
If C.Type = msoBarTypePopup Then
With C.Controls.Add(msoControlButton, Temporary:=True)
.Caption = "->" & C.Name
End With
End If
Next
End Sub
Sub DeletePop()
Dim C As CommandBar
On Error Resume Next
For Each C In CommandBars
If C.Type = msoBarTypePopup Then
C.Controls("->" & C.Name).Delete
End If
Next
End Sub
- Als Antwort markiert Klaus Trapp Mittwoch, 2. Januar 2013 09:23