| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| AMB |
Autor
|
Thema: Makro Zeilen einer Tabelle ein,- ausblenden (2032 mal gelesen)
|
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 23. Mai. 2018 08:59 <-- editieren / zitieren --> Unities abgeben:
Hallo SolidWorks Gemeinde, zuerst möchte ich mich vorstellen. Mein Name ist Robert und ich arbeite in der Mechanik Entwicklung bei einem Solarwechselrichter Hersteller in Nordhessen. Mit SolidWorks arbeite ich schon seit 2001 d.h. etwas Erfahrung ist vorhanden. Dieses Forum kenne ich eher als passiver Leser aber jetzt wende ich mich an euch bei einem Problem. Vielleicht kann mir einer bei meinem Makro Problem helfen. Internet ist nach besten Wissen und Gewissen durchsucht und der Makrorekorder bringt mich auch nicht auf die richtige Fährte. Ich habe eine Allgemeine Tabelle auf meinem Zeichnungsblatt. In dieser Tabelle sind verweise auf interne Normen / Anforderungen die der Lieferant zu erfüllen hat. Aber es werden nicht immer alle Anforderungen benötig. Bis Dato blenden unsere Konstrukteure die nicht benötigten Zeilen per Hand aus und ggf. wieder an. Die dritte Spalte wird per Hand ausgefüllt Jetzt ist ein Wunsch aufgekommen dieses zu vereinfachen. Ich suche den Code eine bestimmte Zeile ein und auszublenden. Hier mal in Screenshot um das Ganze zu visualisieren. Mit den Haken (1) möchte ich eine komplette Zeile (2) aus und wieder einblenden. Mit den Schriftfeldern (3) möchte ich im Kästchen(4) Werte übertragen. Das würde ich über Attribute machen ähnlich wie bei der Schriftfeldausfüllung Außer es hat jemand eine elegantere Methode. Das wäre aber erst der zweite Schritt. Vielen Dank Gruß Robert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2018 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
|
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 23. Mai. 2018 10:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, danke für die schnell Antwort. Deswegen habe ich ja geschrieben nach besten Wissen und Gewissen. Der Makrorekorder hat in meinem Fall nur die Auswahl und Position aufgezeichnet. Ich habe mal das Makro aus dem link getestet aber ich bekomme folgende Fehlermeldung: Laufzeitfehler '13' Typen unverträglich
Debug verweist auf folgende Zeile: Set swGeneralTableFeature = swSelMgr.GetSelectedObject6(1, -1) alle preconditions sind erfüllt, SW ist in Englisch, Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 23. Mai. 2018 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo RobMih, Zitat: Original erstellt von RobMih: Ich habe mal das Makro aus dem link getestet aber ich bekomme folgende Fehlermeldung:Laufzeitfehler '13' Typen unverträglich
Wie im Quelltext abgegeben musst du das Tabellenfeature vorselektiert haben, d.h. du musst das vorher im Featurebaum selektiert haben, bevor du das Makro auslöst, sonst passt dein selektiertes Objekt nicht zum deklarierten Typ SldWorks.GeneralTableFeature . Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de 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: 23. Mai. 2018 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo Christian, Zitat: SW ist in Englisch,
nur so am Rande, welche Sprache dein SWX hat ist für die Programmierung weitestgehen irrelevant. 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 |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 23. Mai. 2018 13:22 <-- editieren / zitieren --> Unities abgeben:
Noch mal Danke für die Antworten. Ich arbeite mich zur Zeit auch in die Makro Thematik erst mal ein. Vieles ist noch try and error aber bin jetzt schon mal auf den richtigen weg. Hier mein Code Zitat: Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim Annotation As Object Dim DrawingDoc As Object Dim myTable As ObjectSub main() Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc Set DrawingDoc = swApp.ActiveDoc ' ** hier lade ich die entsprechende Tabelle ** Set myTable = DrawingDoc.InsertTableAnnotation2(True, 0, 0, 4, "\\sma-me\Daten\TDC-M\SolidWorks\templates\spreadsheets -BOM-Version\TDC-M-SMA-Standards_V2.2.sldtbt", 0, 0) myTable.BorderLineWeight = 0 myTable.GridLineWeight = 0 ' **hier blende ich die Zeile aus** myTable.RowHidden(2) = True End Sub
Ich lade die entsprechende Tabelle und setze die auf den Verankerungspunkt und blende gleich eine Zeile aus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2018 13:24 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2018 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
|
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 23. Mai. 2018 16:17 <-- editieren / zitieren --> Unities abgeben:
irgendwie macht das Makro nicht genau das was ich möchte. hier mal der Code:
Code:
Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim Annotation As Object Dim DrawingDoc As Object Dim myTable As ObjectSub main() Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc Set DrawingDoc = swApp.ActiveDoc ' ** hier lade ich die entsprechende Tabelle ** Set myTable = DrawingDoc.InsertTableAnnotation2(True, 0, 0, 4, "\\sma-me\Daten\TDC-M\SolidWorks\templates\spreadsheets -BOM-Version\TDC-M-SMA-Standards_V2.2.sldtbt", 0, 0) myTable.BorderLineWeight = 0 myTable.GridLineWeight = 0 ' ** Lade Maske ** Load UserForm1 'erst laden UserForm1.Show 'dann zeigen
'-------------------------------------------------------------------------- If UserForm1.CheckBox1 = True Then myTable.RowHidden(2) = False Else myTable.RowHidden(2) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox2 = True Then myTable.RowHidden(3) = False Else myTable.RowHidden(3) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox3 = True Then myTable.RowHidden(4) = False Else myTable.RowHidden(4) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox4 = True Then myTable.RowHidden(5) = False Else myTable.RowHidden(5) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox5 = True Then myTable.RowHidden(6) = False Else myTable.RowHidden(6) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox6 = True Then myTable.RowHidden(7) = False Else myTable.RowHidden(7) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox7 = True Then myTable.RowHidden(8) = False Else myTable.RowHidden(8) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox8 = True Then myTable.RowHidden(9) = False Else myTable.RowHidden(9) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox9 = True Then myTable.RowHidden(10) = False Else myTable.RowHidden(10) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox10 = True Then myTable.RowHidden(11) = False Else myTable.RowHidden(11) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox11 = True Then myTable.RowHidden(12) = False Else myTable.RowHidden(12) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox12 = True Then myTable.RowHidden(13) = False Else myTable.RowHidden(13) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox13 = True Then myTable.RowHidden(14) = False Else myTable.RowHidden(14) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox14 = True Then myTable.RowHidden(15) = False Else myTable.RowHidden(15) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox15 = True Then myTable.RowHidden(16) = False Else myTable.RowHidden(16) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox16 = True Then myTable.RowHidden(17) = False Else myTable.RowHidden(17) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox17 = True Then myTable.RowHidden(18) = False Else myTable.RowHidden(18) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox18 = True Then myTable.RowHidden(19) = False Else myTable.RowHidden(19) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox19 = True Then myTable.RowHidden(20) = False Else myTable.RowHidden(20) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox20 = True Then myTable.RowHidden(21) = False Else myTable.RowHidden(21) = True End If '-------------------------------------------------------------------------- If UserForm1.CheckBox21 = True Then myTable.RowHidden(22) = False Else myTable.RowHidden(22) = True End If '--------------------------------------------------------------------------
End Sub
Es wir die Tabelle geladen, es wird die Maske geladen. Jetzt prüfe ich per z.B. Code:
If UserForm1.CheckBox21 = True Then myTable.RowHidden(22) = False Else myTable.RowHidden(22) = True End If
aber die Prüfung scheint immer zu sagen Checkbox = False Makro Startet sh.: 2018-05-23_Makro Tabelle Ein, Ausblenden_1.jpg Ich wähle im Makro aus sh: 2018-05-23_Makro Tabelle Ein, Ausblenden_2.jpg Die Tabelle wird gekürzt aber alles wird ausgeblendet ( außer die beiden die ich anwähle ) hmmmm...... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 23. Mai. 2018 16:22 <-- editieren / zitieren --> Unities abgeben:
Sorry für Doppelpost Wenn ich aber im UserForm in der Checkbox den Value Wert von False auf True setze dann erscheint die Zeile. Als ob es Egal ist was ich anklicke.... Edit. MAkro und Screenshot upload
[Diese Nachricht wurde von RobMih am 23. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2018 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo, nur mal auf die Schnelle drübergeschaut - und bin auch kein Makro - Profi ich würde - die Nummern angleichen checkbox2 <==> zeile2, dann muss man nicht immer -1 denken. (man kann sie auch umbenennen checkbox_zeile2 z.B.) - die booleschen Werte angleichen - ist vermutlich schwer zu vermitteln. aber die Zuweisung könnte auch so gehen: myTable.RowHidden(2) = NOT UserForm1.CheckBox_zeile2.value und noch was unwichtiges, wann wird die Abfrage denn gestartet? sind da nicht immer so Events wie Checkbox_zeile2_Click() im Formularquelltext? ich würde da erwarten private Sub Checkbox_zeile2_click() myTable.RowHidden(2) = NOT Checkbox_zeile2.value end Sub ... Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Spirou85 Mitglied Konstruktuer und CAD-Betreuer
Beiträge: 70 Registriert: 01.12.2014 HP ZBook 15 G5 Intel Xeon 2,9 GHz - 32GB Ram NVIDIA Quadro P2000M Windows 10 Pro 64Bit Version 1809 Build 17763.1098 SWX2020-64Bit-SP1.0 MaxxDB 2020 SP0.06 DraftSight Enterprise 2019 x64 SP3 3DCONNEXION SpaceMouse Enterprise mit CadMouse
|
erstellt am: 23. Mai. 2018 17:27 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hab mal in meinen Makros geschaut, und ich beziehe mich immer auf ".value", also auf checkbox.value. Und ich prüfe auch immer auf "0" (False) und "-1" (True). Habe früher das auch mit False und True versucht, hat jedoch nicht funktioniert. Seitdem habe ich die numerischen Werte. ------------------ Viele Grüße aus Brackenheim Lars Pauly Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2018 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
|
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: 24. Mai. 2018 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo Robert, du hast einen Denkfehler, auf den dich Christian in etwas komplizierterer schreibweise aufmerksam machen wollte: Code: If UserForm1.CheckBox16 = True Then 'Checkbox ist angehakt damit die Zeile ausgeblendet wird (.value Abfrage wäre wie bereits erwähnt hier etwas schicker) myTable.RowHidden(17) = False '"False" bedeutet das die Zeile NICHT ausgeblendet wird Else myTable.RowHidden(17) = True '"True" bedeutet die Zeile wird ausgeblendet, in deinem Fall also wenn der Haken der Checkbox NICHT gesetzt ist End If
Du kannst also nur True und False austauschen damit es klappen müsste. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 24. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 24. Mai. 2018 09:54 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo nochmal, da scheint noch irgendwas anderes schief zu laufen. 1) ich wollte darauf hinweisen, dass mir die ganze if-Abfrage zu lang ist und eine direkte Zuweisung mit NOT das gleiche macht. 2) die Zuweisungen laufen tatsächlich nach dem Schließen des Userforms. ok, beim ersten mal ausblenden funktioniert, wieder einblenden funktioniert bei mir auch nicht. 3) ich hätt es interaktiv im userform platziert, so dass sofort die Zeile ausgeblendet wird wenn man den Haken setzt. Deklaration swTable als public und im userform
Code: Private Sub CheckBox1_Click() swTable.RowHidden(1) = Not CheckBox1.Value End Sub Private Sub CheckBox2_Click() swTable.RowHidden(2) = Not CheckBox2.Value End Sub ... Private Sub Userform_initialize() CheckBox1.Value = Not swTable.RowHidden(1) CheckBox2.Value = Not swTable.RowHidden(2) CheckBox3.Value = Not swTable.RowHidden(3) CheckBox4.Value = Not swTable.RowHidden(4) CheckBox5.Value = Not swTable.RowHidden(5) End Sub
Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 12:45 <-- editieren / zitieren --> Unities abgeben:
Noch mal Danke für eure Hinweise. Ich konnte den Code verkürzen und jetzt funktioniert das Grundgerüßt :-) Code: ' ****************************************************************************** ' 2018.05.24 Robert M. ' SMA ' TESTALPHA ' ' ******************************************************************************Sub main() Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim Annotation As Object Dim DrawingDoc As Object Dim myTable As Object Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc Set DrawingDoc = swApp.ActiveDoc ' ** hier lade ich die entsprechende Tabelle ** Set myTable = DrawingDoc.InsertTableAnnotation2(True, 0, 0, 4, "\\sma-me\Daten\TDC-M\SolidWorks\templates\spreadsheets -BOM-Version\TDC-M-SMA-Standards_V2.2.sldtbt", 0, 0) myTable.BorderLineWeight = 0 myTable.GridLineWeight = 0 ' ** Lade Maske ** Load UserForm1 'erst laden UserForm1.Show 'dann zeigen
myTable.RowHidden(0) = -1 ' Hinweistext in Zeile 1 soll immer ausgeblendet werden myTable.RowHidden(1) = 0 ' Überschrift soll immer angezeigt werden myTable.RowHidden(2) = Not UserForm1.CheckBox2.Value myTable.RowHidden(3) = Not UserForm1.CheckBox3.Value myTable.RowHidden(4) = Not UserForm1.CheckBox4.Value myTable.RowHidden(5) = Not UserForm1.CheckBox5.Value myTable.RowHidden(6) = Not UserForm1.CheckBox6.Value myTable.RowHidden(7) = Not UserForm1.CheckBox7.Value myTable.RowHidden(8) = Not UserForm1.CheckBox8.Value myTable.RowHidden(9) = Not UserForm1.CheckBox9.Value myTable.RowHidden(10) = Not UserForm1.CheckBox10.Value myTable.RowHidden(11) = Not UserForm1.CheckBox11.Value myTable.RowHidden(12) = Not UserForm1.CheckBox12.Value myTable.RowHidden(13) = Not UserForm1.CheckBox13.Value myTable.RowHidden(14) = Not UserForm1.CheckBox14.Value myTable.RowHidden(15) = Not UserForm1.CheckBox15.Value myTable.RowHidden(16) = Not UserForm1.CheckBox16.Value myTable.RowHidden(17) = Not UserForm1.CheckBox17.Value myTable.RowHidden(18) = Not UserForm1.CheckBox18.Value myTable.RowHidden(19) = Not UserForm1.CheckBox19.Value myTable.RowHidden(20) = Not UserForm1.CheckBox20.Value myTable.RowHidden(21) = Not UserForm1.CheckBox21.Value myTable.RowHidden(22) = Not UserForm1.CheckBox22.Value
'-------------------------------------------------------------------------- 'weil form ist nur versteckt, damit checkbox-infos noch da sind Unload UserForm1
'--------------------------------------------------------------------------
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 12:56 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Christian_W: Hallo nochmal,da scheint noch irgendwas anderes schief zu laufen. 1) ich wollte darauf hinweisen, dass mir die ganze if-Abfrage zu lang ist und eine direkte Zuweisung mit NOT das gleiche macht. 2) die Zuweisungen laufen tatsächlich nach dem Schließen des Userforms. ok, beim ersten mal ausblenden funktioniert, wieder einblenden funktioniert bei mir auch nicht. 3) ich hätt es interaktiv im userform platziert, so dass sofort die Zeile ausgeblendet wird wenn man den Haken setzt. Deklaration swTable als public und im userform
Code: Private Sub CheckBox1_Click() swTable.RowHidden(1) = Not CheckBox1.Value End Sub Private Sub CheckBox2_Click() swTable.RowHidden(2) = Not CheckBox2.Value End Sub ... Private Sub Userform_initialize() CheckBox1.Value = Not swTable.RowHidden(1) CheckBox2.Value = Not swTable.RowHidden(2) CheckBox3.Value = Not swTable.RowHidden(3) CheckBox4.Value = Not swTable.RowHidden(4) CheckBox5.Value = Not swTable.RowHidden(5) End Sub
Gruß, Christian
Ich habe es schon so verstanden wie du es beschreibst. Das hat mir sehr geholfen. Ich habe es irgendwie in UserForum Code nicht hinbekommen das es sofort passiert.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 24. Mai. 2018 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Zitat:
... Ich habe es irgendwie in UserForum Code nicht hinbekommen das es sofort passiert...
probier mal "dim mytable" durch "public mytable" zu ersetzen ... (und dann meine swtable durch mytable) meine Variante setzt auch die Haken passend zu einer bestehenden Tabelle. (falls das in Frage kommt) Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 14:45 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Christian_W:
probier mal "dim mytable" durch "public mytable" zu ersetzen ... (und dann meine swtable durch mytable) meine Variante setzt auch die Haken passend zu einer bestehenden Tabelle. (falls das in Frage kommt) Gruß, Christian
Vielen herzlichen Dank. Ich habe es nach deine Methode gemacht. Code ist jetzt im UserForm1 drin und alles läuft jetzt direkt beim klicken Funktioniert Super Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 15:44 <-- editieren / zitieren --> Unities abgeben:
Ich hätte noch eine weitere Frage. Kann ich der Tabelle die ich einfüge einen Namen ( der im Feature Baum angezeigt wird ) direkt beim einfügen geben ? ------------------ Dell Precision 7720 Intel_i7-7820HQ_CPU_@_2.90GHz 32GB RAM SolidWorks2015 Teamcenter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 24. Mai. 2018 16:17 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Zitat:
Kann ich der Tabelle die ich einfüge einen Namen ( der im Feature Baum angezeigt wird ) direkt beim einfügen geben ?
Anscheinend nicht, aber eine Zeile später weiss nicht ob es auch kürzer geht, aber häng mal dran: myTable.GeneralTableFeature.GetFeature.Name = "HalloTabelle" Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 16:52 <-- editieren / zitieren --> Unities abgeben:
|
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 24. Mai. 2018 16:52 <-- editieren / zitieren --> Unities abgeben:
|
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 25. Mai. 2018 09:44 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich bräuchte noch mal Hilfe. Ich setze die Tabelle mit dem Makro auf den Ankerpunkt. Code: Set mytable = DrawingDoc.InsertTableAnnotation2(True, 0, 0, 4, "[PFAD der Tabelle]", 0, 0)
Jetzt ist die Tabelle fest Verankert und ich kann diese nicht verschieben - sh Screenshot Danke Gruß Robert ------------------ Dell Precision 7720 Intel_i7-7820HQ_CPU_@_2.90GHz 32GB RAM SolidWorks2015 Teamcenter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
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: 25. Mai. 2018 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo Robert, dann mach das Häkchen bei An Verankerungspunkt anfügen raus, und du kannst die Tabelle wieder verschieben. 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 |
RobMih Mitglied Mechanical Development Engineer
Beiträge: 13 Registriert: 23.05.2018 DELL Precission 7720 - SolidWorks 2015
|
erstellt am: 25. Mai. 2018 10:13 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Andi Beck: Hallo Robert, dann mach das Häkchen bei [b]An Verankerungspunkt anfügen raus, und du kannst die Tabelle wieder verschieben. Grüße, Andi
[/B]
Hallo Andi, auf die Idee bin ich auch gekommen aber diesen Punkt sehe ich nicht mal im Feature Manager. So sollte es aussehen: sh screenshot: 2018-05-25_Tabelle Verankerungspunkt_soll.jpg So sieht es aus: 2018-05-25_Tabelle Verankerungspunkt_ist.jpg d.h. wenn ich Tabelle per Hand einfüge gibt es die Option. Es muss was mit der CodeZeile zu tun haben aber keine Ahnung wo. Ich habe schon auf der Help Seite von SolidWorks gesucht aber nur das gefunden http://help.solidworks.com/2016/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.idrawingdoc~inserttableannotation2.html aber es hilft mir nicht wirklich weiter. ------------------ Dell Precision 7720 Intel_i7-7820HQ_CPU_@_2.90GHz 32GB RAM SolidWorks2015 Teamcenter [Diese Nachricht wurde von RobMih am 25. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
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: 25. Mai. 2018 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo Robert, klappe mal die Position "Tabellenposition" zu und wieder auf. In einem anderen Fall sind da Optionen wieder aufgetaucht. Einen Versuch ist es Wert. 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
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 25. Mai. 2018 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für RobMih
Hallo Robert, dieses Problem habe ich auch imme wenn ich eine Tabellen mit der Option "An Verankerungspunkt angfügt" einfüge, irgendwie gibt es dann diesen Schalter zum deaktivieren dann einfach nicht mehr. Hier kann die Tabelle dann nur noch über den Befehl "Element verschieben" verschoben werden oder Alternativ kannst du natürlich auch den Verankerungspunkt umdefinieren. Daher füge ich mittlerweile Tabellen über die API nur noch ohne diese Option ein. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 25. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |