| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: I-Prppperties anlegen (1415 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: 28. Jan. 2013 12:26 <-- editieren / zitieren --> Unities abgeben:
Hallo IV-Gemeine Bin in der Makroprogrammierung ein absoluter Anfänger. Ich will per Makro mehrere Benutzerdef. Propperties anlegen betrifft alt Bauteile u. Baugruppen dazu habe ich auch einen Code gefunden und angepasst das funktioniert. Jetzt mein Problem erwische ich ein Teil welches die Propperties schon hat bekomme ich einen Fehler. Wie stelle ich es an zuerst zu prüfen ob die Propperties vorhanden sind wenn ja update wenn nein dann sollen sie anlegen werden Mein Anfangscode: Public Sub CreateCustomiProperty() ' Get the active document. Dim doc As Document Set doc = ThisApplication.ActiveDocument ' Get the custom property set. Dim customPropSet As PropertySet Set customPropSet = doc.PropertySets.Item( _ "Inventor User Defined Properties") ' Create a new text property. Dim textValue As String textValue = "-" Call customPropSet.Add(textValue, "Bemerkung") textValue1 = "" Call customPropSet.Add(textValue, "Index") textValue1 = "" Call customPropSet.Add(textValue, "EuV") textValue1 = "" Call customPropSet.Add(textValue, "Zulieferer") End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RODER Mitglied Maschineningenieur
Beiträge: 494 Registriert: 04.01.2003
|
erstellt am: 28. Jan. 2013 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Volker Abfragen ob es das Ding schon gibt... Hoffe dieser Code hilft dir! 'Masstab 2 If dSeitenzahl >= 2 Then EE_Da = False For Each EE_Prop In oDoc.PropertySets(sIPropPfad) If EE_Prop.Name = "FirstViewScale:2" Then EE_Da = True Exit For End If Next If EE_Da Then oDoc.PropertySets(sIPropPfad).Item("FirstViewScale:2").Value = sMassstab2 Else oDoc.PropertySets(sIPropPfad).Add EE_Text, "FirstViewScale:2" oDoc.PropertySets(sIPropPfad).Item("FirstViewScale:2").Value = sMassstab2 End If End If ------------------ Grüsse, Toni Rechtschreibefehler gehören dem findigen Finder 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: 28. Jan. 2013 14:14 <-- editieren / zitieren --> Unities abgeben:
|
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: 29. Jan. 2013 06:54 <-- editieren / zitieren --> Unities abgeben:
|
RODER Mitglied Maschineningenieur
Beiträge: 494 Registriert: 04.01.2003
|
erstellt am: 29. Jan. 2013 07:30 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Volker Mit dem "For Each" wird überprüft ob es das IProp mit diesem Namen schon gibt. Wenn ja wird mit dem If der neue Inhalt zugewiesen, wenn nicht (Else) wird das IProp erzeugt und anschliessend der Inhalt zugewiesen. Das Schnipsel stammt aus einem VBA Skript mit welchem ich die jeweiligen Massstäbe der Erstansichten der verschiedenen Blätter einer Zeichnung (idw) herauslese und in die IProps übertrage. ------------------ Grüsse, Toni Rechtschreibefehler gehören dem findigen Finder 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: 29. Jan. 2013 07:37 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 29. Jan. 2013 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
|
RODER Mitglied Maschineningenieur
Beiträge: 494 Registriert: 04.01.2003
|
erstellt am: 29. Jan. 2013 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Wie erwartet gibt es auch für dieses Problem eine Lösung vom Profi! Danke für den Input! Schreibe mir das hiter die Ohren, wenn ich meine Makros das nächste Mal überarbeite! ------------------ Grüsse, Toni Rechtschreibefehler gehören dem findigen Finder [Diese Nachricht wurde von RODER am 30. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |