Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  SE ST8 Löschvorgang beschleunigen (VBA)

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 SolidEdge
  
Empolis Entwicklungs- und Integrationspartnerschaft, eine Pressemitteilung
Autor Thema:  SE ST8 Löschvorgang beschleunigen (VBA) (742 / mal gelesen)
zelade
Mitglied



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

Beiträge: 21
Registriert: 28.06.2016

erstellt am: 06. Mrz. 2018 11:49    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 Tag zusammen.

Ich arbeite mit einer größeren Baugruppe und steuere diese über VBA in Excel.
Zunächst blende ich alle Occurences ein, die ich benötige in dem spezifischen Anwendungsfall.
Anschließend lösche ich alle Occurences die nicht eingeblendet sind innerhalb einer Schleife.
Das Problem ist, dass es sehr lange dauert, bis alle Bauteile aus SE gelöscht wurden.
Zu Beginn ist der Löschvorgang sehr langsam und beschleunigt sich, je mehr Teile gelöscht wurden.
Ist es möglich mehrere Teile auf einmal herauszulöschen, oder die Aktualisierung in SE erst nach abgeschlossenem Löschvorgang zu aktivieren?

Code:
    While CStr(Worksheets("Beispiel").Cells(i, 17).Value) <> ""
        Set SEOccdel = SEDoc.Occurrences.Item(Worksheets("Beispiel").Cells(i, 17).Value)
            If SEOccdel.Visible = False Then
                  SEOccdel.Delete
            End If
                 
      Set SEOccdel = Nothing
      i = i + 1
    Wend


Über eine Antwort würde ich mich freuen.
Viele Grüße.

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

wolha
Moderator
CAD - Consultant


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

Beiträge: 5689
Registriert: 30.01.2002

Win 11 Pro
Solid Edge 2023
CAMWorks
Primus PDM
FEMAP
Dynamic Designer
Teamcenter

erstellt am: 06. Mrz. 2018 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 zelade 10 Unities + Antwort hilfreich

Hallo,


es gibt meines Wissens eine Property für die App Instanz die ein Update ausschaltet

Suche doche nach SEApp.Update = false

------------------
mfg

Wolfgang Hackl
CAD/CAM - Consult

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7478
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 06. Mrz. 2018 12:28    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 zelade 10 Unities + Antwort hilfreich

Application.DelayCompute = True

------------------
Arne

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

zelade
Mitglied



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

Beiträge: 21
Registriert: 28.06.2016

erstellt am: 06. Mrz. 2018 12: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


Ich habe SEApp.ScreenUpdating = False gefunden.
Leider führt das nicht zu dem gewünschten Ergebnis.

Tatsächlich habe ich explizit vor meiner Schleife SEApp.DelayCompute = False gesetzt.
Indem ich die Property zu True setze ist das Problem gelöst. Manchmal kann es so einfach sein und man sieht es einfach nicht.
Vielen Dank.

Gruß

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