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
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.