Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro Dateieigenschaften Listentrennzeichen

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 SOLIDWORKS
  
On-Demand-Webinare zu SolidCAM (SolidCAM)
Autor Thema:  Makro Dateieigenschaften Listentrennzeichen (1353 mal gelesen)
defreez
Mitglied
Staatlich geprüfter Techniker


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

Beiträge: 23
Registriert: 23.07.2015

Xeon
16Gb
Quadro 4000
Win 7 64

erstellt am: 01. Mrz. 2016 20: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

ich schreibe in einem Makro eine Dateieigenschaft.

  Debug.Print ModelDoc.AddCustomInfo3(Config, Prop, swCustomInfoText, "TEXT DER IN DIE EIGENSCHAFT GESCHRIEBEN WERDEN SOLL")


Anstatt diesem Text soll aber dieser Strang drin stehen.

Bl."dicke@Blech" ... "RD1@Beschriftungen"  x  "RD2@Beschriftungen"

Dieser Textstrang enthält " ein Trennzeichen.
Das mag VB nicht.

wie bekomme ich den Strang in dieser Form eingesetzt ?
Meine Fähigkeiten in VB sind nur rudimentär.

Vielen Dank schon mal.

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 02. Mrz. 2016 06: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 Nur für defreez 10 Unities + Antwort hilfreich

Hallo,

Versuch es mal mit.

"Bl." & """dicke@Blech""" & " ... " & """RD1@Beschriftungen""" & " x " & """RD2@Beschriftungen"""

So funktioniert es zumindest bei mir problemlos.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 02. Mrz. 2016 editiert.]

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

defreez
Mitglied
Staatlich geprüfter Techniker


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

Beiträge: 23
Registriert: 23.07.2015

Xeon
16Gb
Quadro 4000
Win 7 64

erstellt am: 02. Mrz. 2016 22:02    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

Super vielen Dank!

Ich müsste noch wissen wie eine Dateieigenschaft gelöscht wird.
Mein Makro überschreibt keine bestehenden Eigenschaften.

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 02. Mrz. 2016 22:53    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 defreez 10 Unities + Antwort hilfreich

Hallo,
schaust du...


        dummy = Model.DeleteCustomInfo2("", "Description")
        dummy = Model.DeleteCustomInfo2(glbConfName, "Description2")


Wobei glbConfName der Konfigurationsname ist.

Grüße, Andi

Grüße, Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 03. Mrz. 2016 07:08    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 defreez 10 Unities + Antwort hilfreich

Hallo,

um Andi seine Ausgae noch zu komplettieren noch die Info wenn als Konfigurationsname "" eingesetzt wird, wird an Stelle einer konfigurationsspezifischen eine benutzerdefinierte Eigenschaft erstellt.

Alternativ könntest du auch über den ICustomPropertyManager gehen um deine Eigenschaften anzulgen, ändern, löschen etc..

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

defreez
Mitglied
Staatlich geprüfter Techniker


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

Beiträge: 23
Registriert: 23.07.2015

Xeon
16Gb
Quadro 4000
Win 7 64

erstellt am: 03. Mrz. 2016 18:55    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

Danke

Ich bekomme es aber nicht hin 
auch der Makrorekorder bringt mich nicht weiter.

kann mir jemand den Teil schreiben der die
Eigenschaften einliest und dann eine bestimmte löscht ?

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 04. Mrz. 2016 06:38    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 defreez 10 Unities + Antwort hilfreich

Hallo defeez,

wenn du uns dein bereits vorhandenes Macro gibst oder zumindest den Teil der nicht passt wird sich vielleicht jemand die Zeit nehmen dir die fehlenden Codezeilen zu nennen.

Beispiele für die ganzen Befehle findest du aber unter anderem auf Stefans Seite in der Macrotauschbörse
Beispiel: Alle Dateieigenschaften listen
Beispiel: Dateieigenschaften kopieren
Beispiel: Dateieigenschaften erzeugen

In die API Hilfe zu schauen und nach den diversen Befehlen zu suchen ist auch Hilfreich:
CustomInfo Property (IModelDoc2)
AddCustomInfo3 Method (IModelDoc2)
DeleteCustomInfo2 Method (IModelDoc2)
CustomPropertyManager Property (IModelDocExtension)

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

defreez
Mitglied
Staatlich geprüfter Techniker


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

Beiträge: 23
Registriert: 23.07.2015

Xeon
16Gb
Quadro 4000
Win 7 64

erstellt am: 04. Mrz. 2016 14:29    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

So sieht der Teil des zu setzenden Wertes aus

' zu erstellender Wert
       PropNames.Add "AMF_Abmasse"
      
     ' **********************************************************************

     ' alle Dateieigenschaften aus der Konfiguration holen
     ConfigCount = ModelDoc.GetConfigurationCount
     ConfigNames = ModelDoc.GetConfigurationNames

     ' die Coolection vorbereiten mit den Namen der Konfigs bzw. "" wenn auf Datei
     If AllConfigs = 0 Then
         PropConfigs.Add ""
     Else
         For i = 0 To ConfigCount - 1
             PropConfigs.Add ConfigNames(i)
         Next i
     End If

     For Each Config In PropConfigs
         For Each Prop In PropNames
              
          ' **********************************************************************
          ' Wert setzen
          ' nach swCustomInfoText, "den wert eintragen" merke wenn Trennzeichen dann 3fach """
         
             Debug.Print ModelDoc.AddCustomInfo3(Config, Prop, swCustomInfoText, "Bl." & """dicke@Blech""" & " ... " & """RD1@Beschriftungen""" & " x " & """RD2@Beschriftungen""")
            


mir fehlt davor das löschen der alten Variable.
in Teilen in denen die Variable vorhanden ist setzt er diese nicht neu ein.

Ich muss mir ein wenig zusammen reimen was passiert und das Makro aus Stücken zusammen setzen.
Ich finde nur nichts zu löschen.

Kann mir jemand gut Literatur zu dem Thema empfehlen ?

[Diese Nachricht wurde von defreez am 04. Mrz. 2016 editiert.]

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

defreez
Mitglied
Staatlich geprüfter Techniker


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

Beiträge: 23
Registriert: 23.07.2015

Xeon
16Gb
Quadro 4000
Win 7 64

erstellt am: 06. Mrz. 2016 21:56    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

Zur Auflösung
Hier der Code zum löschen der Eigenschaft

'löschen des alten AMF_Abmaße wertes
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

 
    Set swCustPropMgr = swModel.Extension.CustomPropertyManager(Empty)
    swCustPropMgr.Delete "AMF_Abmasse"

    Set swCustPropMgr = swModel.Extension.CustomPropertyManager("Standard")
    swCustPropMgr.Delete "AMF_Abmasse"

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 07. Mrz. 2016 07:12    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 defreez 10 Unities + Antwort hilfreich

Hallo defreez,

wenn du hier schon mit dem CostumPropertyManager arbeitest, könntest du auch diesen mit intstatus = swCustPropMgr.Add3(FieldName, FieldType, FieldValue, OverwriteExisting) verwenden um deine Eigenschaft(en) anzulegen, hier kann dann das seperate löschen entfallen weil man die OverwriteExisting Option hat.

Zu finden in der API-Hilfe unter Add3 Method (ICustomPropertyManager).

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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