| |
| Accelerate Digital Transformation | >> Anmelden und Early Bird Discount sichern! <<, eine Pressemitteilung
|
Autor
|
Thema: E3 Skript Export Texte in Excel (1004 / mal gelesen)
|
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 19. Okt. 2020 11:22 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte folgendes erreichen: Alle Texte, die sich auf den Blättern im Projekt befinden sollen zusammen mit dem entsprechenden Blattnamen in Excel exportiert werden. Im angehängten Beispiel habe ich es auch fast hinbekommen, allerdings werden nur die Texte ausgegeben, die als Blatttexte angelegt sind. Texte vom Texttyp "Text - Variabel" werden nicht ausgegeben. Kann mir hier jemand weiterhelfen? Vielen Dank Code: Excel.WorkBooks.Addprj.GetSheetIds shIds nzeile = 1 for i = 1 to UBound(shIds) sht.SetId shIds(i) txtcnt = sht.GetTextIds (txtids) for j = 1 to txtcnt txt.SetId txtids(j) Excel.Cells( nzeile, 1 ) = sht.getname App.Putinfo 0, sht.getname Excel.Cells( nzeile, 2 ) = txt.gettext App.Putinfo 0, txt.gettext nzeile = nzeile + 1 next nzeile = nzeile + 1 next
[Diese Nachricht wurde von Thomas6789 am 19. Okt. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Okt. 2020 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas6789
|
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 19. Okt. 2020 11:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Rick, danke für die schnelle Antwort. Sorry, habe mich etwas undeutlich ausgedrückt:-) Die in der Datenbank hinterlegten Texttypen von 1 - 5200, können als Blatt-Texte angelegt werden, wodurch diese nur auf Blattvorlagen verwendet werden können. Auf dem Screenshot im Anhang sieht man die Spalte mit dem entsprechenden Haken, der gesetzt werden kann. Diese Texte werden in meinem Skript auch ausgegeben. Die Texttypen, bei denen der Haken nicht gesetzt ist, werden aber nicht ausgegeben. "Text - Variabel" ist nur der Textname des Texttypes in der Datenbank. txt.GetInternalText hat leider keine Änderung gebracht. Gruß Thomas [Diese Nachricht wurde von Thomas6789 am 19. Okt. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Okt. 2020 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas6789
|
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 19. Okt. 2020 13:24 <-- editieren / zitieren --> Unities abgeben:
Soweit ich das sehe, ist das aber kein Attribut sondern nur ein Text. Im Datenbankeditor ist dieser unter Format --> Texttypen aufgelistet (Siehe Screenshot im vorherigen post). Wenn ich alle Attributnamen aus dem Projekt ausgebe wird der Text auch nicht mit ausgegeben. Ist also definitiv nur ein Text. Oder sehe ich das falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Okt. 2020 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas6789
Die Texttypen lassen sich frei konfigurieren und sind entsprechend als Attribut dem Symbol in dem diese verwendet werden zugeordnet. Bzw. anders herum wird der Text Bestandteil eines Symbols sein und ist somit als Text des Symbols und nicht des Sheets definiert. Mir fehlt jetzt tatsächlich ein Beispiel, um das nachvollziehen zu können. Die Texttypen, wie auch immer sie heißen, sind aber defintiv Attribute, die dem Symbol als "Template Parameter" mitgeben werden und ggf. im Symbol eben verwendet werden respektive darauf verwiesen wird. Diese können unter im DBE auch noch Sprachabgängig definiert sein. Demnach ist der Parameter "Name" sprachabhängig. Noch ergänzend, die Attribute können je nach Definition jedem Objekt zugeordnet sein, nicht nur Symbolen. Aber in deinem Fall wäre ein Symbol naheliegend, da es ja Texte (Attribute) sind, die angezeigt werden. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Okt. 2020 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas6789
Ich muss mich revidieren... Ja, es sind Texttypen und keine Attribute. Ich hätte doch vorher nochmal schauen müssen. Mir ist allerdings nicht klar, wie man die definiert bzw. zu welchem Objekt die dann gehören. Weil nicht jeder Text auf dem Blatt gehört ja auch dem Objekt Blatt an. Wenn es Bestandteil eines Symbols ist, musst du den Text ja über das Symbol holen. ...so zumindest mein Verständnis. Wenn der Text direkt auf der Zeichnung liegt, ob per script oder Template, dann sollte dieser auch Bestandteil der Zeichnung sein. Ist dieser z.B. Bestandteil des Rahmens\TitleBlocks, dann ist dieser in diesem Symbol zu finden. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 20. Okt. 2020 07:17 <-- editieren / zitieren --> Unities abgeben:
Danke für den Hinweis, über das Symbol konnte ich den Text ausgeben. Hier der Code: Code: prj.GetSheetIds shIds for i = 1 to UBound(shIds) sht.SetId shIds(i) symcnt = sht.GetSymbolIds (symids) For j = 1 to symcnt sym.SetId symids(j) txtcnt = sym.GetTextIds( txtids, 13 ) for k = 1 to txtcnt txt.SetID txtids(k) Excel.Cells( nzeile, 1 ) = sht.getname Excel.Cells( nzeile, 2 ) = sym.GetSymbolTypeName Excel.Cells( nzeile, 3 ) = txt.gettext Excel.Cells( nzeile, 4 ) = sht.GetAttributeValue ("IND_Unterprojekt") App.Putinfo 0, txt.gettext nzeile = nzeile + 1 next next nzeile = nzeile + 1 next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |