Userform-Makro SolidWorks

Hallo

Ich habe eine ganze Reihe von Optionen, die ich auf SolidWorks mit Makros einrichten kann, wie zum Beispiel:

- eine Ø2-Bohrung an einer solchen Stelle der Oberseite meines Teils

- einen Schlitz für einen Schraubendreher

- eine Nut für die Dichtung

-etc...

Insgesamt habe ich 20, einschließlich der Option "keine Optionen"

Und ich wollte wissen, wie es geht, ob ich die If- und ElsIf-Funktionen für jede Option verwenden muss oder ob es andere Methoden gibt?

Vielen Dank im Voraus für Ihre Antworten

Hallo

Wenn ich das richtig verstehe, handelt es sich um Kontrollkästchen, also ja, Sie müssen sich mit if/else auseinandersetzen oder die Groß-/Kleinschreibung auswählen (das zweite ist schneller, hatte aber meinerseits nie Probleme mit if/else).

Schließlich hängt alles davon ab, was Sie genau tun möchten (Ankreuzen der angekreuzten Kästchen, Inkompatibilität der Wahl...)

3 „Gefällt mir“

In meinem Benutzerformular habe ich eine Listbox erstellt, in der wir Folgendes haben:

U "00" -> keine Optionen

U "01" -> Bohren Ø2

U "02" -> Nut für Dichtung

... bis zum 21.

Also notiere ich:

"Wenn U = (Optionsnummer) Dann" ODER "Wenn U "00" dann auswählen"

Ich weiß nicht genau, wie ich mit dieser Funktion vorgehen soll

Ich bevorzuge Cyril.f, für die Verwendung eines Select Case (Äquivalent zu einem Switch in anderen Sprachen, wie PHP, Java, etc.)

Hier ist ein Beispielcode für die Verarbeitung (ich habe ein vollständiges Makro für das Beispiel als angehängte Datei eingefügt):

Privater Sub BtValid_Click()
    "Wir machen eine Behandlung des Wertes
    Wählen Sie Case ComboBox.Value aus.
        Feld "U1":
            MsgBox "Ich mache eine Behandlung auf U1"
        Kasten "U2":
            MsgBox "Ich zeige U2 an"
        Feld "U3":
            MsgBox "Ich bin U3"
        Fall Else
            MsgBox "Standardverarbeitung nach Wert" & ComboBox.Value
    Ende Auswahl
Ende Sub

 

Bearbeiten: Beachten Sie, dass ich die Verarbeitung nur für die Werte U1, U2 und U3 durchführe, alle anderen Werte nehmen den "Case Else" an.


beispiel.swp
1 „Gefällt mir“

Das ist nicht genau das, was ich tun möchte, ich bevorzuge es, die if- und else-Funktionen zu verwenden.

Ich möchte, dass mein Makro zum Beispiel Folgendes hat:

Wenn das Quadrat U14 gewählt ist, dann nimm diese und jene Ebene, mache einen Kreis aus diesem und jenem Ø, usw usw

Ich weiß einfach nicht, wie ich das in einer VBA-Sprache sagen soll und das ist alles, was ich brauche

>Wenn das Quadrat U14 gewählt ist, dann nimm diese und jene Ebene, mache einen Kreis aus diesem und jenem Ø usw usw

Nun, Sie können es hier tun:

Feld "U1":
     "Hier machen Sie Ihre Behandlung, nehmen Sie dieses Flugzeug, machen Sie einen Kreis aus diesem und jenem Ø
Kasten "U2":
     Behandlung von U2

Dies entspricht an:

Wenn ComboBox.Value = "U1" dann
   Behandlung von U1
elseif ComboBox.Value = "u2" dann
  Behandlung von U2

Endif

 

Die erste Lösung, die ich gegeben habe, ist nur kürzer.