Przesunięty przez: Artik 26-09-2019, 23:14 |
menu podręczne pola tekstowego |
Autor |
Wiadomość |
sz.krzy
Świeżak

Posty: 6
|
Wysłany: 26-07-2018, 11:36 menu podręczne pola tekstowego
|
|
|
Witam, Chciałbym przypisać menu podręczne do pól tekstowych (utworzonych przez makro), tak aby po kliknięciu prawym przyciskiem myszy zamiast menu wbudowanego pojawiło się „moje menu”. Procedurę tworzenia „moje menu” mam napisaną problem polega na przypisaniu jej do zdarzenia jakim jest klikniecie prawym przyciskiem w obiekt. Za pomoc bardzo dziękuję. |
|
 | ID posta:
350091
|
|
|
 |
|
|
|
OShon
Excel Expert


Zaproszone osoby: 396
Wersja: Win Office 365
Pomógł: 1638 razy Posty: 8386
|
Wysłany: 26-07-2018, 12:32
|
|
|
To dość skomplikowany proces oparty na klasie.
Można więc wykorzystać niezdarzenie klasy _SheetBeforeRightClick
W którym deklarujesz przycisk
Kod: | Dim cBut As CommandBarButton |
i przypisujesz doń nazwę i procedurę realizującą coś tam:
Kod: | Set cBut = Application.CommandBars("Cell").Controls.Add(Temporary:=True)
With cBut
.Caption = Nazwa
.Style = msoButtonIconAndCaption
.BeginGroup = True
.FaceId = 51
.OnAction = "Procedura"
.TooltipText = APPNAME
End With |
|
_________________ Oskar Shon - MVP Office System/Development 11/21, 3xMCC, 4/9/22 TechNet
Forum moderator: Outlook.pl | ExcelForum.pl | MSDN dział VBA | GL Excel VBA
Dodatki do Office VBATools.pl, aktualne promocje, darmowe artykuły i literatura
|
|
 | ID posta:
350095
|
|
|
 |
|
|
sz.krzy
Świeżak

Posty: 6
|
Wysłany: 26-07-2018, 21:53
|
|
|
Dobry pomysł ale nie działa. Problem jest na tyle złożony, że w każdej wersji Excela są różne menu podręczne. Rozwiązanie jakie zaproponowałeś nie powoduje dodania przycisku na pasku menu pola tekstowego w Excelu 2010 ani w Excelu 365. Chyba, że coś źle zrobiłem, ale walczę z tym tematem od kilku godzin i dalej nic. Nie umiem zidentyfikować nazwy menu pola tekstowego, aby dodać do niego przycisk. |
|
 | ID posta:
350122
|
|
|
 |
|
|
OShon
Excel Expert


Zaproszone osoby: 396
Wersja: Win Office 365
Pomógł: 1638 razy Posty: 8386
|
Wysłany: 26-07-2018, 22:08
|
|
|
Dobry pomysł? kolego z 5-cioma postami.
Daj sobie czas i postudiuj zagadnienia jakie otrzymałeś. Zobacz o co common z kolekcją która kontroluje przycisk pod prawym klawiszem. Zrobiłeś klasę zadeklarowałeś zdarzenia, dodałeś procedurę zdarzeniową czy będziesz pluł 3 po 3 o wersjach excela?
Poza tym umieściłeś post mam problem z makrem - gdzie masz problem, gdzie sa twoje starania, co do tej pory zrobiłeś? Przenoszę do zadań bo coś czuje że oprócz wyłudzania nic po tobie spodziewać się dobrego nie można. |
_________________ Oskar Shon - MVP Office System/Development 11/21, 3xMCC, 4/9/22 TechNet
Forum moderator: Outlook.pl | ExcelForum.pl | MSDN dział VBA | GL Excel VBA
Dodatki do Office VBATools.pl, aktualne promocje, darmowe artykuły i literatura
|
|
 | ID posta:
350123
|
|
|
 |
|
|
Artik


Wersja: Win Office 365
Pomógł: 3096 razy Posty: 10263
|
Wysłany: 28-07-2018, 01:39
|
|
|
sz.krzy, Należy
1. dodać kod w pliku XML (CustomUI14): Kod: | <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<contextMenus>
<contextMenu idMso="ContextMenuShape">
<button id="MyButton1" label="Alutka"
insertBeforeMso="Cut"
onAction="MojeMakro"
imageMso="HappyFace"/>
<menuSeparator id="MySeparator1" insertBeforeMso="Cut" />
</contextMenu>
<contextMenu idMso="ContextMenuTextEdit">
<button id="MyButton2" label="Alutka"
insertBeforeMso="Cut"
onAction="MojeMakro"
imageMso="HappyFace"/>
<menuSeparator id="MySeparator2" insertBeforeMso="Cut" />
</contextMenu>
</contextMenus>
</customUI> | Menu podręczne ContextMenuShape jest wyświetlane gdy klikasz na krawędzi pola tekstowego, natomiast ContextMenuTextEdit gdy klikasz wewnątrz pola.
2. W module standardowym oprogramować swoje makro: Kod: | Sub MojeMakro(control As IRibbonControl)
MsgBox "Hello world :-)"
End Sub |
3. Cieszyć się życiem.
Rozwiązanie nie działa w wersji 2007.
Artik
Menu podręczne Shape.xlsm
|
Pobierz Plik ściągnięto 125 raz(y) 15.17 KB |
|
_________________ Persistence is a virtue in the world of programming. |
|
 | ID posta:
350196
|
|
|
 |
|
|
sz.krzy
Świeżak

Posty: 6
|
Wysłany: 04-08-2018, 11:46
|
|
|
Dziękuję za pomoc u mnie teraz wszystko działa. Pozdrawiam. |
|
 | ID posta:
350575
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|