| |
![](https://ww3.cad.de/php/image.php?resolution=width:20050) | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
![](https://ww3.cad.de/php/image.php?resolution=width:16196) | Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Multivalue Parameter (1072 / mal gelesen)
|
OibelTroibel Mitglied Konstrukteur
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für OibelTroibel](/foren/ubb/pmimages/gbu.gif) Beiträge: 597 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 16. Apr. 2020 16:51 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo zusammen Wie prüfe ich in vba den gewählten Wert eines multivalue userParameter? Code: Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocumentDim oRefDocs As DocumentsEnumerator Set oRefDocs = oDoc.AllReferencedDocuments Dim oRefDoc As Document For Each oRefDoc in oRefDocs Dim oParameters As UserParameters Set oParameters = oRefDoc.ComponentDefinition.Parameters.UserParameters MsgBox oParameters.Item("Parameter").value Next
Code ist nur Beispielhaft. Ich möchte den Wert eines userParameter prüfen und je nach Wert etwas ausführen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif)
![](/foren/avatars/rkauskh.gif)
![Schreiben Sie einen Gästebucheintrag für rkauskh](/foren/ubb/pmimages/gbu.gif) Beiträge: 2505 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 17. Apr. 2020 05:59 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für OibelTroibel
Moin Du kannst den Wert von Parameter.Value prüfen oder wenn die Einheit dabei sein soll Parameter.Expression. Die Werteliste eines MultiValueParameters befindet sich in Parameter.ExpressionList. ------------------ MfG Ralf ![](http://ww3.cad.de/foren/ubb/uploads/rkauskh/pcfite.gif) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OibelTroibel Mitglied Konstrukteur
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für OibelTroibel](/foren/ubb/pmimages/gbu.gif) Beiträge: 597 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 17. Apr. 2020 08:37 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Ralf Danke für deine Rückmeldung. Ich habe aber das Gefühl, wenn ich mit Parameter.value den Wert prüfe, erhalte ich sämtliche Parameter-Einträge der Liste geprüft. Also wenn ich Bspw. prüfe If Parameter.Value = "Apfel" Then ..., "Birne" aber der aktuelle Parameter-Wert ist, wird trotzdem Then ... ausgeführt. Oder muss ich mit multivalue Parameter etwas speziell beachten? Beste Grüsse Raphael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif)
![](/foren/avatars/rkauskh.gif)
![Schreiben Sie einen Gästebucheintrag für rkauskh](/foren/ubb/pmimages/gbu.gif) Beiträge: 2505 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 18. Apr. 2020 08:23 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für OibelTroibel
Moin Nein, value enthält nur den aktuellen Wert. Ich hab es mit numerischen und Textwerten probiert, funktioniert beides korrekt. Du kannst mal einen Haltepunkt auf die If-Zeile setzen und dir den Inhalt von Parameter.Value ansehen. Oder du schreibst dir in beide Teile eine Debug.Print Anweisung, falls das Fehlverhalten in einer sehr häufig duchlaufenen Schleife auftritt. Mit STRG+G das Direktfenster einblenden, falls noch nicht vorhanden und nach dem Durchlauf schauen wann Parameterwert und Zweig nicht zusammenpassen. Code:
Private Sub UserParameterValue()Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument Dim oParam As UserParameter Set oParam = oDoc.ComponentDefinition.Parameters.UserParameters.Item("test") If oParam.Value = "Apfel" Then Debug.Print "File: " & oDoc.FullDocumentName & " --- Then-Zweig --- Parameter test: " & oParam.Value Else Debug.Print "File: " & oDoc.FullDocumentName & " --- Else-Zweig --- Parameter test: " & oParam.Value End If End Sub
------------------ MfG Ralf ![](http://ww3.cad.de/foren/ubb/uploads/rkauskh/pcfite.gif) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |