Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Werte aus Excel in Catia Tabelle schneller schreiben.

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
Autor Thema:  Werte aus Excel in Catia Tabelle schneller schreiben. (1063 mal gelesen)
Diesaster
Mitglied
Student


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

Beiträge: 61
Registriert: 05.11.2015

erstellt am: 02. Nov. 2017 11:46    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

Hallo Community,

eine kleine Frage hätte ich zur Programmierung.

Mein Makro arbeitet soweit fehlerfrei. Jedoch möchte ich mein Programm ein wenig beschleunigen.

Zur Funktion:

Wenn mein Programm ausgeführt wird, wird eine Excel-Datei ausgelesen und deren Werte warden in Catia überspielt.
Sind 5 Zeilen und 5 Spalten mit Text gefüllt, so erzeugt mein Programm in Catia eine Tabelle mit der Anzahl dieser gefüllten Spalten.

Aktuell löse ich das so, dass der Wert aus der Zelle in Excel ausgelesen wird und sofort in die Tabelle in Catia geschrieben wird.

Meine Frage jetzt:

Würde das Programm schneller warden, wenn ich alle Zellen des Excel-Dokumentes in ein Array werfe und danach erst die Werte in die Tabelle von Catia eintrage?

Für den Fall:
Ich kenne die Funktion "Table from CSV". Diese kann ich nicht nutzen, da meine Tabelle in Catia noch vom Makro bearbeitet wird. Oben ist nur ein Teil des Makros beschrieben, bei dem ich wissen möchte, ob dies beschleunigbar ist.

Gruß
Diesaster

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Nov. 2017 11: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 Diesaster 10 Unities + Antwort hilfreich

Servus

Hast du während des Ausfüllens den ComputeMode der Tabelle deaktiviert? (nicht vergessen danach diese wieder zu aktivieren)
Vermutlich ist das Aktualisieren der Darstellung der Tabelle das was dein Makro ausbremst.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Diesaster
Mitglied
Student


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

Beiträge: 61
Registriert: 05.11.2015

erstellt am: 02. Nov. 2017 12:10    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

Hallo bgrittmann,

ja habe in den Optionen die Einstellung "Recompute Table when editing Cells" deaktiviert.
Dieser wird von meinem Makro aber selbstständig deaktiviert.

Mir ging es nur darum zu wissen, ob das Makro ein wenig schneller wird, wenn die ganzen Zellen aus der Excel erst in einem Array abgespeichert warden und danach in die Tabelle geschrieben warden.

Gruß
Diesaster

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Nov. 2017 12:16    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 Diesaster 10 Unities + Antwort hilfreich

Servus

Ich empfehle dir, wenn es nicht unbedingt notwendig ist, während der Laufzeit in den Optionen "rumzupfuschen". Wenn du da was rumstellst, solltest du das am Ende des Makros wieder auf den Ursprungszustand bringen. (Benutzerfreundlichkeit)
Mit der von mir erwähnte Methode musst du an den Optionen nichts ändern.
Wenn du wie Werte zwischenspeicherst bringt dir das vermutlich selbst Vorteile, dass du dein Makro besser modularisieren kannst und Teile des Codes besser wiederverwenden kannst.
Wie sieht denn dein Code aus?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Diesaster
Mitglied
Student


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

Beiträge: 61
Registriert: 05.11.2015

erstellt am: 02. Nov. 2017 13:11    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

Der Code zieht sich über 3 Userformen und 5 Module mit nahezu identischem Code.
Allerdings ist jeder Code jedes Modules an die 200 oder mehr Zeilen lang.
Leider kann ich nur bestimmte Teile des Codes zeigen, nicht das komplette Programm.
Da dies - auch wenn es von mir geschrieben wurde - Eigentum der Firma ist.

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

ptit.tom
Mitglied
CAD-Berater


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

Beiträge: 114
Registriert: 11.02.2005

win10, CATIA R19 bis R30

erstellt am: 13. Nov. 2017 13: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 Diesaster 10 Unities + Antwort hilfreich

Hallo,

Ich sehe 2 Möglichkeiten, das Makro zu beschleunigen.
1. Excel auf einmal lesen: mit Range("A1 4").Value2 kann ein Bereich in einer Tabelle gespeichert warden. Es ist in der Regel schneller als einzelne Zellenzugriffe.
2. Für die Tabelle in CATIA: DrawingTable.ComputeMode = CatTableOFF vor dem Ausfüllen und CatTableOn danach.

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