Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: Artik
27-09-2019, 00:14
menu podręczne
Autor Wiadomość
sz.krzy 
świeżak


Posty: 6
Wysłany: 26-07-2018, 12:36   menu podręczne

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 Skopiuj do schowka
 
 
OShon 
Excel Expert



Zaproszone osoby: 393
Wersja: Win Office 365
Pomógł: 1638 razy
Posty: 8383
Wysłany: 26-07-2018, 13: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 Skopiuj do schowka
 
 
sz.krzy 
świeżak


Posty: 6
Wysłany: 26-07-2018, 22: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 Skopiuj do schowka
 
 
OShon 
Excel Expert



Zaproszone osoby: 393
Wersja: Win Office 365
Pomógł: 1638 razy
Posty: 8383
Wysłany: 26-07-2018, 23: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 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 2940 razy
Posty: 9714
Wysłany: 28-07-2018, 02: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 93 raz(y) 15.17 KB

_________________
Persistence is a virtue in the world of programming.
ID posta: 350196 Skopiuj do schowka
 
 
sz.krzy 
świeżak


Posty: 6
Wysłany: 04-08-2018, 12:46   

Dziękuję za pomoc u mnie teraz wszystko działa. Pozdrawiam.
ID posta: 350575 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

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