Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: blokownie funkcji menu
greg




Typ: neutral
Postów: 3
Zarejestrowany: Mar 2004
blokownie funkcji menu

Może to proste pytanie ale jak blokować poszczególne funkcje menu np. "kopiuj", "wklej" etc.

31-03-2004 14:54
Pokaż profil greg  Wyślij email do greg   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
Wcale nie...

Wcale nie takie proste i zależne jest od aplikacji którą wykorzystujesz. Każda aplikacja Office'a w troszkę odmienny sposób przechowuje informacje o paskach i poleceniach menu. Uzależnione jest to również od tego jak skonfigurowany jest Wndows (jeden, czy wielu uzytkowników).

Więc, w czym to chcesz zrobić?

P.S.
Polecam moją książkę, tam znajdziesz odpowiedź na te i nie inne pytania.
http://helion.pl/ksiazki/ofvba.htm


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

01-04-2004 20:28
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
greg




Typ: neutral
Postów: 3
Zarejestrowany: Mar 2004

Próbuję to zrobić w Excelu. Dziękuję za podpowiedź dotyczącą książki, postaram się ją kupić, zanim jednak mi się to uda może mógłbyś podać jakąś wskazówkę.

02-04-2004 10:37
Pokaż profil greg  Wyślij email do greg   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
Z CommandBar'ami i CommandButton'ami to jest tak...

Excel.
Excel informacje o paskach narzędzi i menu użytkownika przechowuje w danym skoroszycie. Oznacza to, że jeśli ten pasek narzędzi chcesz "rozciągnąć" na inne skoroszyty (zeszyty), to albo:
- tworzysz dodatek i ładujesz go na danym komputerze,
albo
- tworzysz skoroszyt, który bedzie otwierany wraz z Excel'em.
W obu wypadkach ustawiasz, że zaraz po otwarciu pewne funkcje zostana automatycznie wyłączone.
Ale o takie rozwiązania chyba Ci nie chodzi.

Domyślam się, że chodzi Ci o paski menu i narzędzi w danym skoroszycie. Pewnie wiesz jak je utworzyć, a teraz chcesz je zablokować, by użytkownik nie mógł tego zmienić. Pamiętaj, że użytkownik może dokonać zmian w paskach narzędzi i menu na wiele sposobów:
1) prawym klawiszem na wolnym, szarym polu obok paska i ma dojście do wszystkich pasków narzędzi i dostosowywania.
2) prawym klawiszem na pasku, przycisku i ma dojście do wszystkich pasków narzędzi i dostosowywania
3) Menu Narzędzia -> Dostosuj

Wyłączenie prawego klawisz jest proste:

Sub ZablokujPraweDojscieDoMenu()
'wyłącz
    Application.CommandBars("Toolbar List".Enabled = False
'włącz
    Application.CommandBars("Toolbar List".Enabled = False
End Sub

Ale to polecenie dajesz dopiero na końcu, po zastosowaniu wszystkich zmian.

Gorzej jest z narzędzia->Dostosuj, bo musisz odszukać tę opcję i ją wyłączyć. Wyliczanie pasków i ich podstawowych elementów menu przedstawiam poniżej:


Sub WyliczPaskiiPolecenia()
Dim cb As CommandBar
Dim ctr As CommandBarControl

For Each cb In Application.CommandBars
    If cb.Visible Then
        For Each ctr In cb.Controls
            MsgBox cb.NameLocal & vbCr & vbCr & _
                ctr.Caption, vbInformation, cb.Name
        Next ctr
    End If
Next cb

End Sub



OK, ale jak wyłączyć dane polecenie w danym menu?
Dostęp do poszczególnych opcji określonego polecenia menu jest realizowany, np. tak:

Sub WyliczElementyPodMenu()
Dim cb As CommandBar
Dim ctr As CommandBarControl
Dim i As Long

Set cb = Application.CommandBars("Worksheet Menu Bar"
Set ctr = cb.Controls("&Edycja"
For i = 1 To cb.Controls.Count
    MsgBox ctr.Controls(i).Caption
Next i

Set ctr = Nothing
Set cb = Nothing

End Sub


Wyłączenie danego menu:

cb.ctr.Controls("&Wytnij".Enabled = False


To tyle w ogólnym, bardzo okrojonym zarysie.
Możesz posłużyć się również pomocną funkcją: FindControl().


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

02-04-2004 21:17
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 3 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1