Witam
Mam cały szereg opcji do skonfigurowania w SolidWorks za pomocą makr takich jak:
- wiercenie Ø2 w takim miejscu górnej części mojej części
- otwór na śrubokręt
- rowek na uszczelkę
-itd...
W sumie mam ich 20 łącznie z opcją "brak opcji"
I chciałem wiedzieć, jak to zrobić, czy muszę używać funkcji If i ElsIf dla każdej opcji, czy też są inne metody?
Z góry dziękuję za odpowiedzi
Witam
Jeśli dobrze rozumiem, są to pola wyboru, więc tak, będziesz musiał poradzić sobie z if/else lub select case (drugi jest szybszy, ale z mojej strony nigdy nie miałem żadnych problemów z if/else).
W końcu wszystko zależy od tego, co dokładnie chcesz zrobić (zaznaczenie zaznaczonych pól, niezgodność wyboru...)
3 polubienia
W moim formularzu użytkownika stworzyłem Listbox, w którym mamy:
U "00" -> brak opcji
U "01" -> wiercenie Ø2
U "02" -> rowek na uszczelkę
... do 21.
Zatem zauważam:
"Jeśli U = (numer opcji) Następnie" LUB "Jeśli U "00" wybierz Następnie"
Nie wiem dokładnie, jak powinienem postępować z tą funkcją
Wolę Cyril.f, do korzystania z Select Case (odpowiednik Switcha w innych językach, takich jak PHP, Java itp.)
Oto przykładowy kod przetwarzania (umieściłem pełne makro dla przykładu jako załączony plik):
Prywatny Sub BtValid_Click()
"Robimy zabieg na wartość
Wybierz wielkość liter ComboBox.Value
Rubryka "U1":
MsgBox "Robię zabieg na U1"
Rubryka "U2":
MsgBox "Wyświetlam U2"
Rubryka "U3":
MsgBox "Jestem U3"
Przypadek inny
MsgBox "Domyślne przetwarzanie wartości" & ComboBox.Value
Zakończ wybór
Koniec subwoofera
Edycja: Zauważ, że przetwarzam tylko wartości U1, U2 i U3, wszystkie inne wartości przyjmą "Wielkość liter inaczej".
przykład.swp
1 polubienie
To nie jest dokładnie to, co chcę zrobić, wolę używać funkcji if i else.
Chciałbym, aby moje makro miało na przykład:
Jeśli zaznaczony jest kwadrat U14, to weź taką a taką płaszczyznę, zrób okrąg z takiego a takiego Ø, itd itp
Po prostu nie wiem, jak to powiedzieć w języku vba i to wszystko, czego potrzebuję
>Jeśli zostanie wybrany kwadrat U14, to weź taką a taką płaszczyznę, zrób okrąg z takiego a takiego Ø itd.
Cóż, możesz to zrobić tutaj:
Rubryka "U1":
"Tu robisz swoje leczenie, weź ten samolot, zrób krąg z takiego a takiego Ø
Rubryka "U2":
Leczenie U2
Jest to równoznaczne z:
Jeśli ComboBox.Value = "U1", to
Leczenie U1
Elseif ComboBox.Value = "U2" Następnie
Leczenie U2
Endif
Pierwsze rozwiązanie, które podałem, jest po prostu krótsze.