Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro Dateiinformatinen Schreiben

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
Autor Thema:   Makro Dateiinformatinen Schreiben (272 mal gelesen)
Ringelstein
Mitglied
Ingenieur

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

Beiträge: 5
Registriert: 22.01.2020

erstellt am: 31. Jan. 2020 14:27    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

Ich möchte gerne per Macro in den Dateiinformationen den Wert der Eigenschaft "PROJNR" entfernen oder mit Leerzeichen überschreiben.
Ich hab schon einiges ausprobiert was ich im Internet gefunden habe. Leider war bisher nicht der Richtige Befehl dabei…
Vielleicht kann mir ja jemand weiterhelfen...

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

GDawg
Ehrenmitglied V.I.P. h.c.
FEM Simulant / Konstrukteur / SolidWorks Händchenhalter



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

Beiträge: 2620
Registriert: 12.07.2004

SolidWorks_2o18 SP4.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 31. Jan. 2020 15:50    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 Ringelstein 10 Unities + Antwort hilfreich

Die Suche nach "CustomPropertyManager" in der SolidWorks -> Hilfe -> API-Hilfe ergab bei mir folgendes:

Code:

'---------------------------------------------------------------------------
' Preconditions:
' 1. Open a part document.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Adds a date custom property to the part's configuration.
' 2. Tests whether the custom property is editable, and if so,
'    edits it.
' 3. Gets all custom properties in the configuration.
' 4. Deletes a custom property.
' 5. Examine the Immediate window.
'---------------------------------------------------------------------------

Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim config As SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim lRetVal As Long
Dim vPropNames As Variant
Dim vPropTypes As Variant
Dim vPropValues As Variant
Dim ValOut As String
Dim ResolvedValOut As String
Dim wasResolved As Boolean
Dim linkToProp As Boolean
Dim resolved As Variant
Dim linkProp As Variant
Dim nNbrProps As Long
Dim j As Long
Dim custPropType As Long
Dim bRet As Boolean

Sub main()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set config = swModel.GetActiveConfiguration
   

    Set cusPropMgr = config.CustomPropertyManager
   

    lRetVal = cusPropMgr.Add3("ADATE", swCustomInfoType_e.swCustomInfoDate, "4-13-59", swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd)
    lRetVal = cusPropMgr.Get6("ADATE", False, ValOut, ResolvedValOut, wasResolved, linkToProp)
   

    bRet = cusPropMgr.IsCustomPropertyEditable("ADATE", config.Name)
    If bRet = 0 Then
        Debug.Print "    ADATE is editable."
        lRetVal = cusPropMgr.Set2("ADATE", "4-13-89")
    Else
        Debug.Print "    ADATE is not editable."
    End If


    lRetVal = cusPropMgr.Get6("ADATE", False, ValOut, ResolvedValOut, wasResolved, linkToProp)
   

    ' Get the number of custom properties for this configuration
    nNbrProps = cusPropMgr.Count
    Debug.Print "Number of properties for this configuration:            " & nNbrProps
   

    ' Gets the custom properties
    lRetVal = cusPropMgr.GetAll3(vPropNames, vPropTypes, vPropValues, resolved, linkProp)

    ' For each custom property, print its name, type, and evaluated value
    For j = 0 To nNbrProps - 1
        custPropType = cusPropMgr.GetType2(vPropNames(j))
        Debug.Print "    Name, swCustomInfoType_e value, and resolved value:  " & vPropNames(j) & ", "; custPropType & ", " & vPropValues(j)
    Next j


    lRetVal = cusPropMgr.Delete2("ADATE")
   
    ' Get the number of custom properties for this configuration
    nNbrProps = cusPropMgr.Count
    Debug.Print "Number of properties for this configuration:            " & nNbrProps

End Sub


Ein bisschen "schnippel" und fertig! ;-)

Und sollte es VB.net oder sogar C#.net sein, dann einfach die Suche wiedeholen.

Viel Erfolg!

------------------
while(!asleep()) { sheep++; }

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)2020 CAD.de | Impressum | Datenschutz