| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Hannover |
Autor
|
Thema: Schriftfeld Makro anpassen - Titel, Autor, Betreff ausfüllen (1425 / mal gelesen)
|
jositz Mitglied Konstrukteur
Beiträge: 31 Registriert: 04.12.2003 Schneider Digital Intel Xeon CPU E5-1620v3 3,50GHz 32,00GB RAM Windows 7 Professional x64 SP1 AMD FirePro W7100 Solid Works 2016 x64 SP 5.0
|
erstellt am: 08. Feb. 2017 11:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich hatte bisher das Schriftfeldmakro von Stefan Berlitz (MM09) mit meinen geringen VB Kenntnissen immer auf meine Bedürfnisse anpassen und beliebige benutzerdefinierte Eigenschaften ansprechen können. Nun würde ich gern die Felder Titel, Autor und Betreff (Dateiinformation, Reiter Info) mit dem Makro bearbeiten sowie man es eben für benutzerdefinierte Eigenschaften kennt. Leider hab ich das bisher nicht hinbekommen. Die einzelnen Felder scheinen wohl über diese Codes: swModel.SummaryInfo(swSumInfoTitle), swModel.SummaryInfo(swSumInfoAuthor)und swModel.SummaryInfo(swSumInfoSubject) angesprochen werden zu können, aber welche Deklarationen muss man dazu zu Beginn des Makros definieren? Hat jemand evtl. Stefans Makro schon mal in der Richtung angepasst und kann mir dazu weiterhelfen? Vielen Dank für Eure Hilfe! ------------------ Schneider Digital Intel Xeon CPU E5-1620v3 3,50GHz 32,00GB RAM Windows 7 Professional x64 SP1 AMD FirePro W7100 Solid Works 2016 x64 SP 5.0 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 08. Feb. 2017 12:41 <-- editieren / zitieren --> Unities abgeben: Nur für jositz
Hallo jositz! Das ist doch in der Hilfe ausführlich beschrieben?! Sogar mit Beispiel... SummaryInfo Code: Dim instance As IModelDoc2 Dim FieldId As System.Integer Dim value As System.String instance.SummaryInfo(FieldId) = value
Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 08. Feb. 2017 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für jositz
Hallo jositz, in der API Hilfe ist doch ein Beispiel dazu drin, woran scheiterst du den genau? 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 |
jositz Mitglied Konstrukteur
Beiträge: 31 Registriert: 04.12.2003 Schneider Digital Intel Xeon CPU E5-1620v3 3,50GHz 32,00GB RAM Windows 7 Professional x64 SP1 AMD FirePro W7100 Solid Works 2016 x64 SP 5.0
|
erstellt am: 08. Feb. 2017 15:48 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für Euren Input. Es scheitert grundsätzlich daran, dass ich zu wenig Know-How im Bereich Makro Programmierung habe. Bei der Anpassung von Stefan Makros im Bereich benuzerdefinierter Eigenschaften kam ich eben noch zurecht. Ich dachte man ergänzt nur analog zu Stefans Codes für Datum die Zeilen z.B. für Titel: ' Datum txtSfDatum.Text = Model.CustomInfo("Datum") ' Titel txtSfTitel.Text = swModel.SummaryInfo(swSumInfoTitle) '... Model.CustomInfo("Datum") = txtSfDatum.Text Model.swSummaryInfo(swSumInfoTitle) = txtSfTitel.Text '... dummy = Model.DeleteCustomInfo("Datum") dummy = swModel.DeleteSummaryInfo(swSumInfoTitle) '... dummy = Model.AddCustomInfo("Datum", "Text", txtSfDatum.Text) dummy = swModel.AddSummaryInfo(swSumInfoTitle, "Text", txtSfTitel.Text) Ich hab jetzt Eure Deklarationen hinzugefügt und die Verweise auf SWX 2016 angepasst... Der erste Fehler kommt nun bei Dim FieldId As System.Integer -> Benutzerdefinierter Typ nicht definiert Steckt also mehr dahinter, als ich als Laie auf diesem Gebiet dachte. Ich werd mich hierzu einfach mehr einlesen müssen, trotzdem Danke! ------------------ Schneider Digital Intel Xeon CPU E5-1620v3 3,50GHz 32,00GB RAM Windows 7 Professional x64 SP1 AMD FirePro W7100 Solid Works 2016 x64 SP 5.0 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 09. Feb. 2017 06:51 <-- editieren / zitieren --> Unities abgeben: Nur für jositz
Hallo jositz, wenn das Macro Early binding ist und die Verweise zur "SolidWorks 2016 Constant type library" gesetzt ist mußt du FeldId nicht deklarieren. In der API Hilfe ist das in diesem Fall mehr als Information gedacht das die FeldID ein Wert vom Typ Integer ist. Bei Early Binding kannst du z.B. direkt mit "swSumInfoTitle" arbeiten. Hab das Macro doch eben mal herutergeladen und sehe es ist "Late Binding" daher müsstest du die Konstanten (Integer Werte) die hinter swSumInfoTitle, swSumInfoAuthor und swSumInfoSubject entweder direkt verwenden oder die Konstanten deklarieren.
Code: Const swSumInfoTitle As Integer = 0 Const swSumInfoAuthor As Integer = 2 Const swSumInfoSubject As Integer = 1Model.SummaryInfo(swSumInfoTitle) = txtSfTitel.Text 'Model.SummaryInfo(0) = txtSfTitel.Text Model.SummaryInfo(swSumInfoAuthor) = txtSf???.Text 'Model.SummaryInfo(2) = txtSf???.Text Model.SummaryInfo(swSumInfoSubject) = txtSf???.Text 'Model.SummaryInfo(1) = txtSf???.Text
Code: txtSfTitel.Text = Model.SummaryInfo(swSumInfoTitle)
Diese Schreibweise ist die Get Anweisung dient also nur dem Auslesen des Wertes. Code: Model.SummaryInfo(swSumInfoTitle) = txtSfTitel.Text
So sieht die Set Anweisung zum Wert setzten aus. DeleteSummaryInfo und AddSummaryInfo gibt es nicht, da diese Eigenschaften immer vorhanden sind und auch nicht gelöscht werden können. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 09. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jositz Mitglied Konstrukteur
Beiträge: 31 Registriert: 04.12.2003 Schneider Digital Intel Xeon CPU E5-1620v3 3,50GHz 32,00GB RAM Windows 7 Professional x64 SP1 AMD FirePro W7100 Solid Works 2016 x64 SP 5.0
|
erstellt am: 09. Feb. 2017 12:51 <-- editieren / zitieren --> Unities abgeben:
|