Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Tabelle sortieren - Makro?!

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
  
Tierisch mobil: Der autonome Inspektionsroboter ANYmal
Autor Thema:  Tabelle sortieren - Makro?! (2985 mal gelesen)
G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

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

erstellt am: 19. Mai. 2006 08:00    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

Guten (Frei-)Tag!!

Ich wollte mal fragen ob jemand schon mal einM akro geschrieben/gesehen hat um die Sücklistentabelle zu sortieren.
Ich möchte meine Tabelle immer nach $Benutzerdef.variable Absteigend, Benennung Aufsteigend und Konfiguration Aufsteigend sortieren. Es ist relativ mühsam, nach jeder änderung an einem Model, die ganzen Tabellen von Hand wieder neu zu sortieren.

Vielen Dank schon mal für Eure Mithilfe!

Note: Der Makro-Recorder scheint leider nicht der richtige Ansatz zu sein 

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 19. Mai. 2006 08:22    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 G. Dawg 10 Unities + Antwort hilfreich

Guten Morgen,

die Lösung findest du in der Excel-API

'Excelbefehl
oExcelBereich.Sort( _
Key1:=oExcelApp.Range(sErsteSortierSpalte), Order1:=EinsAufOderAb, _
Key2:=oExcelApp.Range(sZweiteSortierSpalte), Order2:=ZweiAufOderAb, _
Key3:=oExcelApp.Range(sDritteSortierSpalte), Order3:=DreiAufOderAb, _
Header:=Excel.XlYesNoGuess.xlGuess, OrderCustom:=1, _
MatchCase:=False, _
Orientation:=Excel.XlSortOrientation.xlSortColumns, _
DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
DataOption3:=Excel.XlSortDataOption.xlSortNormal)

Das Excelobjekt holst du dir einfach so:
'Wenn die Tabelle aktiv ist
'Excelobjekt holen
oExcelApp = _
CType(GetObject(, "Excel.Application"), _
Excel.Application)
'Aktuelles Blatt holen
oExcelSheet = _
CType(oExcelApp.ActiveSheet, _
Excel.Worksheet)

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

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

erstellt am: 19. Mai. 2006 08: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

Vielen Dank, tbd!

Dass wir uns richtig verstehen: Die StüLi-Tabelle ist von SWXSolidWorks generiert worden; auf einer 2D Ableitung (die Tabelle ist immernoch dort). Und diese Tabelle ist ein Excel Objekt?
Das Script von Dir, kann ich das dann einfach in den VB Editor 'reinkopieren und als Makro ausführen?

Danke nochmals!

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 19. Mai. 2006 12: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 G. Dawg 10 Unities + Antwort hilfreich

Im SolidWorks VBA wird es nicht klappen da man einen Verweis zu Excel benötigt!

In einem externen VB Projekt schon (Code ist vb.net).
Du musst halt allerdings festlegen welche Spalte du Sortieren möchtest!
und wieviel.
Zum Beispiel Key1:=oExcelApp.Range("A:A") wenn du als erstes nach der Spalte A sortieren möchtest.
Die Order1:=EinsAufOderAb muss man mit einer Excel Konstanten auch festlegen!

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

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

erstellt am: 19. Mai. 2006 13:33    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

Sorry... aber... das ist Excel-API! Und nicht SolidWorks-API!
Entweder bin ich zu doof oder Du verstehst mein Problem nicht ganz...?! 
Naja... egal! Vielen Dank trotzdem!!

Schönes Wochenende!!

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

gismo
Mitglied
SWX Support


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

Beiträge: 1047
Registriert: 05.03.2001

erstellt am: 19. Mai. 2006 14:01    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 G. Dawg 10 Unities + Antwort hilfreich

Er versteht Dich schon.
Er geht davon aus, dass Deine Stückliste eine eingebettete Excel Tabelle ist. Dann geht das auch mit der Excel API. Bei einer SWX Tabelle geht das soweit ich mich erinnern kann nicht (lasse mich aber gerne eines Besseren belehren)
CU
Thomas

------------------
Viele Grüße aus dem Schwarzwald
gismo
Meine bescheidene Website


Member of CAD.de BOINC Team  | Seti@Home | CPDN | Einstein@Home

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 22. Mai. 2006 11: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 Nur für G. Dawg 10 Unities + Antwort hilfreich

Genau so sieht es aus!
in SolidWorks gibt es nur sehr wenige API befehle um das Excel Arbeitsblatt anzusprechen. Sind meistens nur lese, bzw schreib befehle.
So etwas wie sortieren geht nur über die Excel API! Aber das Excel Objekt kannst du dir wie gesagt sehr leicht besorgen, wenn die Tabelle in SolidWorks aktiv ist!

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