Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Properties ausfüllen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Properties ausfüllen (1578 / mal gelesen)
Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

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: 19. Aug. 2016 18:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Schriftkopf.frx.txt

 
Hallo IV Gemeinde

Ich habe da ein Problem mit Benutzerdefinierten Prpperties diese möchte ich über ein VBA Formular ausfüllen.
Ich will die Properties zuerst ins Formular einlesen wenn ausgefüllt wenn nicht sollen sie über das Formular ausgefüllt werden.
Das könnt man mit iLogic sehr einfach bewerkstelligen aber bei uns in  der ist iLogic verboten worden. Jetzt könnt ich die Properties von Hand über die Standardmaske von IV eintragen aber die Properties sin teilweise so lang vom Namen dass sie nicht gut lesbar sind es dauer einfach zu lange bis ich das richte Propertie gesucht habe.

Ich verstehe nicht warum er mir hier das Propertie nicht einliest.
Kann mir einer von euch heften? Bin für jede Hilfe dankbar!

Formular ist im Anhang


hier mal mein Ansatz

Public Sub CustoProperties_Eintragen()
   
    ' **********************************************************
    ' ** Vorhandene Custom Properties ablesen und in Formular bringen **
    ' **********************************************************

    ' Get the active document.
    ' gehe zum aktiven Dokument
    Dim invDoc As Document
    Set invDoc = ThisApplication.ActiveDocument
   
    ' Get the user defined (custom) property set.
    ' Gehe zum benutzerdefinierte (custom) Propertie
    Dim invCustomPropertySet As PropertySet
    Set invCustomPropertySet = invDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
   
        For Each oPropSet In oDoc.PropertySets
            For Each oProp In oPropSet
                If oProp.invCustomProperty = "MF.DOKUMENTENNUMMER" Then
                Schriftkopf.MF_DOKUMENTENNUMMER = oProp.value
                  End If
                   
              Next
          Schriftkopf.Show
    End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


Sehen Sie sich das Profil von Ruzy5624 an!   Senden Sie eine Private Message an Ruzy5624  Schreiben Sie einen Gästebucheintrag für Ruzy5624

Beiträge: 280
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 20. Aug. 2016 09:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Guten Morgen,

bin mir nicht hundertprozentig sicher, ob ich dein Problem richtig verstanden habe.
Dein Formular konnte ich leider nicht einladen.

Wenn ich es ohne das Formular richtig verstanden haben, dann versuch doch mal, ob das klappt:

Code:
Public Sub CustoProperties_Eintragen()
    ' ******************************************************************
    ' ** Vorhandene Custom Properties ablesen und in Formular bringen **
    ' ******************************************************************
    ' Get the active document.
    ' gehe zum aktiven Dokument
    Dim invDoc As Document
    Set invDoc = ThisApplication.ActiveDocument
 
    ' Get the user defined (custom) property set.
    ' Gehe zum benutzerdefinierte (custom) Propertie
    Dim invCustomPropertySet As PropertySet
    Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties")
    Dim oProp As Property
   
    For Each oProp In invCustomPropertySet
        If oProp.Name = "MF.DOKUMENTENNUMMER" Then
            Schriftkopf.MF_DOKUMENTENNUMMER = oProp.Value
        End If
    Next
   
    Schriftkopf.Show
End Sub

------------------
Mit Besten Grüßen

Ruzy5624

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

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: 21. Aug. 2016 10:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


CustomProperties.rar.txt

 
Hallo  Ruzy5624

Nein funktioniert auch nicht.
Aber hier noch einmal das Formular und die Bauteilvorlage
Noch mal ich habe  eine Kundenvorlage die ich benutzen muss dort sind die Benutzerproperties hinterlegt. Die werden eben  überden den IV Dialog ausgefüllt. Nun ist es aber so dass der Kunde immer mehr Properties dazu geschrienen hat und viel ähneln sich am Anfang. Wenn man jetzt mit neuen Mitarbeitern arbeitet kommt es unweigerlich zu Fehlern.
Ich möcht eben nur die Properties die wir ausfüllen müssen in einem Formular darstellen. Sie beim Starten des Makros einlesen wenn sie ausgefüllt sind wenn nicht werden die Werte ins Formular eingetragen und ans Bauteil übertragen.


Porpertie Beispiel:
MF.Abteilung_des_verantwortlichen_der Erstellung
MF.Abteilung_des_verantwortlichen_der_Änderung

Den habe ich aus der IV Hilfe Code:

Public Sub CustoProperties_Eintragen()
    ' ******************************************************************
    ' ** Vorhandene Custom Properties ablesen und in Formular bringen **
    ' ******************************************************************
    ' Get the active document.
    ' gehe zum aktiven Dokument
    Dim invDoc As Document
    Set invDoc = ThisApplication.ActiveDocument

    ' Get the user defined (custom) property set.
    ' Gehe zum benutzerdefinierte (custom) Propertie
    Dim invCustomPropertySet As PropertySet
    Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties")
    Dim oProp As Property
 
    For Each oProp In invCustomPropertySet
        If oProp.Name = "MF.DOKUMENTENNUMMER" Then
            Schriftkopf.MF_DOKUMENTENNUMMER = prop.valueo
        End If
    Next
 
    Schriftkopf.Show
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


Sehen Sie sich das Profil von Ruzy5624 an!   Senden Sie eine Private Message an Ruzy5624  Schreiben Sie einen Gästebucheintrag für Ruzy5624

Beiträge: 280
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 21. Aug. 2016 11:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich


Schriftkopf.rar.txt

 
Hallo,

jetzt habe ich auch das Formular eingeladen bekommen und verstanden wie es funktionieren soll 


Hab das ganze mal etwas bearbeitet.
Hier das Ergebnis-->

Bei mir funktioniert es 

------------------
Mit Besten Grüßen

Ruzy5624

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

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: 21. Aug. 2016 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ruzy5624

Danke für Deine Hilfe

Habe es zwischenzeitlich auch hin bekommen zwar nicht so schön wie Dein Code aber gut.
Das nächste Problem ist aber komplizierter die Properties heisen alle MF.Dokumentennummer usw.
Ich kann einfach nicht den Text aus dem Tetfeld in die entsprechenden Properties übertragen.
Kann das etwas mit dem Punkt zutun haben(MF.Dokumentennnummer)?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


Sehen Sie sich das Profil von Ruzy5624 an!   Senden Sie eine Private Message an Ruzy5624  Schreiben Sie einen Gästebucheintrag für Ruzy5624

Beiträge: 280
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 21. Aug. 2016 14:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Moin,

hast du mal meine Lösung, also auch das Formular von mir eingeladen?

Ich habe nicht nur das Modul erstellt, sondern auch gleich den Code für das Formular mit erstellt, sodass auf Knopfdruck die in das Formular eingetragenen Informationen in die iProperties geschrieben werden 

Code Modul:

Code:
Public Sub CustoProperties_Eintragen()
    ' ******************************************************************
    ' ** Vorhandene Custom Properties ablesen und in Formular bringen **
    ' ******************************************************************
    ' Get the active document.
    ' gehe zum aktiven Dokument
    Dim invDoc As Document
    Set invDoc = ThisApplication.ActiveDocument
 
    ' Get the user defined (custom) property set.
    ' Gehe zum benutzerdefinierte (custom) Propertie
    Dim invCustomPropertySet As PropertySet
    Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties")
    Dim oProp As Property
   
    For Each oProp In invCustomPropertySet
        If oProp.Name = "MF.DOKUMENTENNUMMER" Then
            Schriftkopf.MF_DOKUMENTENNUMMER.Text = oProp.Value
        ElseIf oProp.Name = "MF.BENENNUNG_DEUTSCH" Then
            Schriftkopf.MF_BENENNUNG_DEUTSCH.Text = oProp.Value
        ElseIf oProp.Name = "MF.BENENNUNG_ENGLISCH" Then
            Schriftkopf.MF_BENENNUNG_ENGLISCH.Text = oProp.Value
        ElseIf oProp.Name = "MF.REVISION" Then
            Schriftkopf.MF_REVISION.Text = oProp.Value
        ElseIf oProp.Name = "MF.VERSION" Then
            Schriftkopf.MF_VERSION.Text = oProp.Value
        ElseIf oProp.Name = "MF.BLATTNUMMER" Then
            Schriftkopf.MF_BLATTNUMMER.Text = oProp.Value
        ElseIf oProp.Name = "MF.BLATTANZAHL" Then
            Schriftkopf.MF_BLATTANZAHL.Text = oProp.Value
        ElseIf oProp.Name = "MF.ABTEILUNG_DES_VERANTWORTLICHER_DER_ERSTELLUNG" Then
            Schriftkopf.MF_ABTEILUNG_DES_VERANTWORTLICHER_DER_ERSTELLUNG.Text = oProp.Value
        ElseIf oProp.Name = "MF.VERANTWORTLICHER_DER_ERSTELLUNG" Then
            Schriftkopf.MF_VERANTWORTLICHER_DER_ERSTELLUNG.Text = oProp.Value
        ElseIf oProp.Name = "MF.NAME_DES_ERSTELLERS" Then
            Schriftkopf.MF_NAME_DES_ERSTELLERS.Text = oProp.Value
        End If
    Next
   
    Schriftkopf.Show
End Sub

Code Formular:

Code:
Private Sub Beenden_Click()
End
End Sub

Private Sub Eintragen_Click()
    ' 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")
   
    invCustomPropertySet.Item("MF.DOKUMENTENNUMMER").Value = Schriftkopf.MF_DOKUMENTENNUMMER.Text
    invCustomPropertySet.Item("MF.BENENNUNG_DEUTSCH").Value = Schriftkopf.MF_BENENNUNG_DEUTSCH.Text
    invCustomPropertySet.Item("MF.BENENNUNG_ENGLISCH").Value = Schriftkopf.MF_BENENNUNG_ENGLISCH.Text
    invCustomPropertySet.Item("MF.REVISION").Value = Schriftkopf.MF_REVISION.Text
    invCustomPropertySet.Item("MF.VERSION").Value = Schriftkopf.MF_VERSION.Text
    invCustomPropertySet.Item("MF.BLATTNUMMER").Value = Schriftkopf.MF_BLATTNUMMER.Text
    invCustomPropertySet.Item("MF.BLATTANZAHL").Value = Schriftkopf.MF_BLATTANZAHL.Text
    invCustomPropertySet.Item("MF.ABTEILUNG_DES_VERANTWORTLICHER_DER_ERSTELLUNG").Value = Schriftkopf.MF_ABTEILUNG_DES_VERANTWORTLICHER_DER_ERSTELLUNG.Text
    invCustomPropertySet.Item("MF.VERANTWORTLICHER_DER_ERSTELLUNG").Value = Schriftkopf.MF_VERANTWORTLICHER_DER_ERSTELLUNG.Text
    invCustomPropertySet.Item("MF.NAME_DES_ERSTELLERS").Value = Schriftkopf.MF_NAME_DES_ERSTELLERS.Text
End Sub


------------------
Mit Besten Grüßen

Ruzy5624

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Projektkonstrukteur Elektrik (m/w/d)

PROJEKTKONSTRUKTEUR ELEKTRIK (M/W/D)

am Standort Kirchheim.

RECARO Automotive setzt seit Jahrzehnten Maßstäbe im Bereich mobiles Sitzen: Von uns stammt der erste nachrüstbare Sportsitz für Automobile, der leichteste Fahrzeugsitz der Welt und neue Sportsitze in moderner Composite-Bauweise. Zahlreiche Automobilhersteller setzen auf Sitze von RECARO Automotive. Darüber hinaus bedienen wir über den Fachhandel Endkunden mit Nachrüstsitzen und Motorsportler mit Rennschalen....

Anzeige ansehenElektrotechnik, Elektronik
Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

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: 21. Aug. 2016 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ruzy

Danke für die Hilfe

Habe Deien Code kopiert und ein gefügt funktioniert.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz