| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: BenutzerPropertys zugreifen (1586 mal gelesen)
|
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 09. Jan. 2016 10:30 <-- editieren / zitieren --> Unities abgeben:
Hallo IV Gemeinde Ich möchte mir iProperties und UserProperties in einer Msg Box anzeigen lassen. Mit den iProperties funktioniert es aber mit den User Properties habe ich Probleme. Kann mir einer von euch helfen? Public Sub GetPropertySample() ' Get the active document. Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument ' Get the design tracking property set. Dim invDesignInfo As PropertySet Set invDesignInfo = invDoc.PropertySets.Item("Design Tracking Properties") ' Get the part number property. Dim invPartNumberProperty As Property Set invPartNumberProperty = invDesignInfo.Item("Part Number") ' Get the Norm property. Dim invStandardProperty As Property Set invStandardProperty = invDesignInfo.Item("Standard") ' Get the description property. Dim invDescriptionProperty As Property Set invDescriptionProperty = invDesignInfo.Item("Description") ' Get the stock number property. Dim invStockNumberProperty As Property Set invStockNumberProperty = invDesignInfo.Item("Stock Number") ' Get the part number property. Dim invVendorProperty As Property Set invVendorProperty = invDesignInfo.Item("Vendor") MsgBox "Dateinmae: " & invPartNumberProperty.value _ & vbCrLf & "Art-Nr/Part-Nr.: " & invStockNumberProperty.value _ & vbCrLf & "Bezeichnung: " & invDescriptionProperty.value _ & vbCrLf & "Norm: " & invStandardProperty.value & vbCrLf & "Hersteller: " & invVendorProperty.value End Sub 'Benutzer Properties _________________________________________________________________ ' Get the active document. Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument ' Get the user defined (custom) property set. Dim invCustomPropertySet As PropertySet Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties") ' Get the part number property. Dim invTestProperty As Property Set invTestProperty = invDoc.PropertySets.Item("Test") MsgBox "Dateinmae: " & invTestProperty.value End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 09. Jan. 2016 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Du versuchst auf ein PropertySet "Test" zuzugreifen, nicht auf ein Property. Code:
Dim invTestProperty As Property Set invTestProperty = invCustomPropertySet.Item("Test")MsgBox "Dateiname: " & invTestProperty.value
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 11. Jan. 2016 11:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf Ich muss sagen meine VBA Kenntnisse sind sehr bescheiden ich arbeite mich das erst rein. Den Code habe ich aus der API Hilfe dort finde ich nichts wie man auf die User Properties zugreift. Außer dass was ich schon im ersten Beitrag geschrieben habe. Bin also etwas ratlos. Könntest Du mir ein Beispiel posten? Danke im voraus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 11. Jan. 2016 20:31 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Hier ein Beispiel. Da im Gegensatz zu den Standard iProperties nicht sicher ist ob ein benutzerdefiniertes Propertie existiert, empfiehlt es sich z.B. in einer Schleife durch alle benutzerdef. iProps zu gehen und bei jedem zu testen. Damit wird ein Ausnahmefehler vermieden, falls das gesuchte iProp nicht vorhanden ist. Code: Option ExplicitPublic Sub GetPropertySample() ' Get the active document. Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument Dim invCustomPropertySet As PropertySet Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties") Dim invTestProperty As Property For Each invTestProperty In invCustomPropertySet If invTestProperty.Name = "TEST" Then MsgBox "TEST: " & invTestProperty.Value End If Next End Sub
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 12. Jan. 2016 09:51 <-- editieren / zitieren --> Unities abgeben:
|