Ribbon jako dodatek VSTO i button zależny od użytkownika

0

Koleżanki i koledzy mam taki problem. Robię swój indywidualny dodatek VSTO do Excela w VS jako pasek Ribbon. Teraz potrzebuję aby zależnie na jakim komputerze zostanie uruchomiony dodatek pokazane będą odpowiednio przyciski na pasku tj:
Btn_Test1 widzi użytkownik którego nazwa w sieci jest: Komp1
Btn_Test2 widzi użytkownik którego nazwa w sieci jest: Komp2
Btn_Test1, Btn_Test2, Btn_Test3 widzi użytkownik którego nazwa w sieci jest: Komp3
Jak by okazało się że dodatek zostanie zainstalowany przez przypadek na innym komputerze to było by dobrze aby mój pasek Ribbon nie pokazał się. W załączeniu pliki do VS z tym co już zrobiłem.

0

Okeej wiem że to trochę odgrzebywanie tematu i przepraszam ale wyskrobałem coś takiego

Dla c#

        public static void ShowButton()
        {
            // Enviroment.UserDomainName aby użyć NAZWY UŻYKTOWNIKA W SIECI
            string Name = Environment.UserDomainName; // Aby wybierać po nazwie użyktownika zmień na Enviroment.UserName lub po nazwie komputera 

            // Przycisk.Visilibity = true aby wyświetlić go w formie
            // I pamiętaj aby domyślnie wszystkie które chcesz ukryć były Visilibity = false;

            switch (Name)
            {
                case "Komp1":
                    Btn_Test1.Visilibity = true;
                    break;
                case "Komp2":
                    Btn_Test1.Visilibity = true;
                    break;
                case "Komp3":
                    Btn_Test1.Visilibity = true;
                    break;

                default:
                    PasekRibbon.Visilibity = false; // Aby w przypadku gdy żadna z opcji nie została wybrana (Komputer nie ma zadnej z chcianych nawz)
                    break;
            }
        }

Dla VB(Przekonwertowane)

Public Shared Sub ShowButton()
	
	' Name zawiera nazwę komputera w siecie
    Dim Name As String = Environment.UserDomainName

	' Tutaj już sam się chyba połapiesz :D
    Select Case Name
        Case "Komp1"
            Btn_Test1.Visilibity = True
        Case "Komp2"
            Btn_Test1.Visilibity = True
        Case "Komp3"
            Btn_Test1.Visilibity = True
        Case Else
            PasekRibbon.Visilibity = False
    End Select
End Sub

Nie mam doświadczenia w takich projektach więc mogą być błędy (i raczej są bo rozwiązanie wydaje się aż za łatwe)

0

Dzięki :) wszystko działa jak należy tylko przed każdym Buttonem trzeba dopisać: Globals.Ribbons.RibbonBarTest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1