VBA: Allgemeine persönliche Eigenschaften und keine Konfigurationseigenschaften

Hallo ihr alle

Ich beherrsche VBA nicht sehr gut und fummele ein wenig herum...

Also habe ich dieses Makro erstellt (indem ich es kopiert und meine Eigenschaften hinzugefügt habe), aber ich möchte, dass die erstellten Eigenschaften auf der Registerkarte "Anpassen" und nicht in "Konfigurationsspezifisch" abgelegt werden. Könnten Sie bitte mein Makro korrigieren? Vielen Dank im Voraus.

Dimmen swApp als Objekt
Dim swModel As ModelDoc2
Dim-Konfiguration als SldWorks.Configuration
Dim swCustProp As CustomPropertyManager
Dim lRetVal so lange
Dim myValue0 als Zeichenfolge
Dim myValue1 als Zeichenfolge
Dim myValue2 als Zeichenfolge
Dim myValue3 als Zeichenfolge
Dimmen myValue4 als Zeichenfolge

Sub main()
    Legen Sie swApp = Application.SldWorks fest
    Festlegen von swModel = swApp.ActiveDoc
    my0Value = swModel.GetTitle: 'Wir erhalten den Dateinamen
    myValue1 = Left(myValue0, 16) 'Wir erhalten die Teilenummer, also die ersten 16 Zeichen des Dateinamens
    myValue2 = Left(myValue0, 22) 'Wir erhalten die ersten 22 Zeichen des Dateinamens
    myValue3 = Right(myValue0, Len(myValue0) - Len(myValue2)) 'Wir erhalten die letzten Zeichen der Bezeichnung des Dateinamens - die ersten 22
    myValue4 = Left(myValue0, 13) 'Wir erhalten die Formnummer
    Legen Sie config = swModel.GetActiveConfiguration fest
    Legen Sie cusPropMgr = config fest. CustomPropertyManager
    lRetVal = cusPropMgr.Add3("Teilnummer", swCustomInfoType_e.swCustomInfoText, myValue1, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd)
    lRetVal = cusPropMgr.Add3("Bezeichnung", swCustomInfoType_e.swCustomInfoText, myValue3, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd)
    lRetVal = cusPropMgr.Add3("DocumentSource", swCustomInfoType_e.swCustomInfoText, myValue4, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd)
Ende Sub

 

Wenn Sie ein gutes Tutorial für VBA Solidworks zu empfehlen haben, bin ich dafür.

Hallo;

So legen Sie Ihre Eigenschaften auf der Registerkarte "Benutzerdefiniert" (und nicht in "Konfiguration") fest:
Ersetzen Sie Ihre Leitung:
Legen Sie cusPropMgr = config fest. CustomPropertyManager
bis
Set cusPropMgr =swModel.Extension.CustomPropertyManager("")

Für ein Tutorial: siehe hier (auf Englisch, aber gut erklärt)
https://blog.codestack.net/custom-properties-automation
Oder wenn Sie wirklich gerade erst anfangen:
https://thecadcoder.com/Solidworks-macro-guide/
ohne die Taste "F1" im VB-Editor zu vergessen
Weder die Solidworks API-Hilfe


Hinweis: Ihr Code ist nicht sehr lang, aber in Zukunft wäre es besser, den Code-Editor zu verwenden


(im VBscript-Modus für VB-Makros... für Visual Basic-)

Herzliche Grüße

3 „Gefällt mir“

Hallo

und bevorzugen Sie generell vbNullString anstelle von "". Schneller auszuführen und weniger Speicher.

Hallo @guillaume.bruere 

Die Antwort auf Ihre Frage, die es verdient, als Lösung markiert zu werden, ist die Botschaft @Maclane , nicht meine! Danke, dass du ihn korrigiert hast.

Herzliche Grüße

1 „Gefällt mir“

Hallo @Sylk, ja, ich wollte die 2 Antworten genehmigen, aber nur eine wird berücksichtigt. Vielen Dank an alle.

1 „Gefällt mir“

Hallo;

Danke Sylk , aber da ich nicht wusste, wie man "vbNullString" benutzt, bin ich bereit, Ihnen 1/2 Punkt zurückzugeben... ;)
Herzliche Grüße.

2 „Gefällt mir“