Macro die SolidWorks laat crashen

Hallo

vanmorgen, toen ik terugkwam van vakantie, was ik verbaasd om te zien dat bij het starten van een van mijn macro's, Solidworks crashte.

 

Het is best vervelend, en overigens ook niet de eerste keer dat het gebeurt (Vandaar dat ik zo regelmatig mogelijk back-ups maak, maar desondanks is de back-up een beetje gedateerd..) [Ik moet erop wijzen dat ik het op twee stations heb geprobeerd, voor beide hetzelfde. (SW2013 Win7 64 pro)]

Dus ik begrijp het echt niet, wanneer ik de macro probeer te starten of te bewerken, genereert SolidWorks een foutrapport en wordt het gesloten (en dit elke keer .. dus onmogelijk om mijn code te herstellen :/)

 

Helaas kan ik je de macro niet geven, om privacyredenen.

 

Dus ik weet niet of je er ooit mee te maken hebt gehad of dat je een oplossing hebt waarmee ik mijn code kan herstellen (en waarom zou je dit niet vermijden..)

Hallo

Waarom kun je je code niet terugkrijgen? Zijn je .swp-bestanden verwijderd?

Het zal moeilijk zijn om u te helpen zonder code. Probeer u de lijst met acties te geven die door uw macro worden uitgevoerd.

Tot ziens.

1 like

Het antwoord is simpel

Ik kan het .swp-bestand helemaal niet openen (het bestaat .. maar als ik naar "Macro -> Run, or Edit" ga, crasht solidWorks en wordt het gesloten) Dus het is onmogelijk om de code te herstellen.

Het is alsof het bestand beschadigd is, maar wat kan dit hebben veroorzaakt? Ik was op vakantie en voordat ik vertrok werkte het bestand heel goed.

 

Naar mijn mening is het dus geen probleem met de code, maar met het .swp-bestand zelf

Hallo.

 

Heb je geprobeerd er een kopie van te maken (CTRL+c, CTRL+v) en de kopie te openen?

Het is een dom principe, maar soms werkt het

Duplicaat

Ja, ik heb het geprobeerd...

Ik heb het bestand ook op het netwerk gezet en ik heb het op een andere pc getest, vergelijkbaar resultaat

Hallo

Waren er toevallig geen updates voor de computers terwijl u weg was? Ik denk altijd aan de beroemde update: http://www.mycadblog.fr/problemes-solidworks-rencontres-apres-la-mise-a-jour-de-microsoft/

2 likes

Hallo

Misschien is het de macro-editor die een probleem heeft.

Werkt het maken van een nieuwe macro?

1 like

Controleer of u logboekupdates hebt gehad sinds uw laatste macro die werkte en kijk naar de datum

Als je via windaude jezelf terug in de configuratie zet naar de laatste datum waarop je macro werkte,

Ik denk dat je je probleem hebt opgelost

Zie o.a. deze link

http://www.leguide3d.com/profiles/blogs/alerte-technique-conflit-avec-la-mise-jour-windows-kb3072630

@+

Gaat het om slechts één dossier?

Dank u voor uw antwoorden,

Er zijn geen sporen van deze update geïnstalleerd.

 

Wat de macro-editor betreft, kan ik zonder problemen andere macro's openen en bewerken.

 

En ik herinner me dat ik dit probleem een tijdje geleden had, toen de macro plotseling niet meer werkte.

 

Wat de restauratie betreft, zou het me verbazen als de infodienst het daarmee eens was.

En ja, het is momenteel het enige dossier waar het om gaat, maar zoals ik al zei, het is me al een of twee keer eerder overkomen.

Hallo

Een oplossing die zou kunnen werken:

Open de macro in een andere versie van SolidWorks om deze opnieuw te registreren als .bas of .swp, en soms werkt deze weer op de andere versie.

4 likes

Zonder de macro te zien of te weten hoe deze werkt, kan het ingewikkeld zijn om verder stroomopwaarts te gaan.

 

Aan de andere kant, misschien heb je vereisten die niet zijn gedaan? Op een van mijn Excel-macro's vraag ik bijvoorbeeld om de bladen te ontgrendelen. Als ze niet op slot zijn, heb ik het hele ding afluisteren.

Of heb je een oneindige lus gedaan zonder dat je dat wilde met een ongeplande optie?

 

Wat vreemder is, is de afsluiting tijdens het bewerken.

Heb je geprobeerd het te openen met een teksteditor?

Met de textuureditor werkt het! (Nou, het is onleesbaar, maar het bestand wordt geopend).

Het kan uit de code komen, maar ik heb mijn twijfels, omdat het probleem zich tijdens het coderen zou hebben voorgedaan en ik het altijd zou kunnen bewerken.

Bestaat het risico dat SolidWorks de macro onbedoeld corrumpeert, wanneer SolidWorks de macro opent? Omdat dit een bug zou zijn. (Omdat de meeste macro's die voor mij nooit een probleem zijn geweest, alleen-lezen zijn, maar hier toen ik eraan werkte, was dat niet het geval).

1 like

Hallo

We hadden hetzelfde probleem thuis...

De oorzaak was de volgende: Mijn collega had een map met ruimte toegevoegd waardoor de macro was gecrasht.

Om dit ongemak aan mijn kant te voorkomen, heb ik de macro altijd in een notitieboekje, waardoor we de macro konden herschrijven en konden begrijpen hoe het werkt.

Dus alles wat ik je kan vertellen is dat als de macro crashte tijdens de werking van solidworks, zelfs bij het opnieuw opstarten of kopiëren, je weinig risico loopt om het opnieuw te kunnen gebruiken... We moesten het helemaal opnieuw doen

Of misschien het idee van @.PL

Maar adviseer, kopieer altijd uw macro in een woord en afdrukken van de sa kan altijd op te slaan in deze gevallen de :)
 

2 likes

Dat is wat ik sinds vanochtend @Centor tegen mezelf zeg. Ik moet ze snel ergens opslaan als tekstbestand^^

 

Heet allemaal hetzelfde het verhaal van het bestand met een spatie die alles crasht!

Bedankt

Ik maak inderdaad back-ups, maar daar had ik al een tijdje geen problemen meer en verloor ik een paar dagen werk.

 

Hoe dan ook, ik gaf het macrobestand aan .PL, het zal me vertellen of het wordt geopend op SW2015.

 

In afwachting van zijn antwoord dank ik u bij voorbaat.

2 likes

Hoi allemaal

Je macro's crashten niet en nu ja. Het is een puinhoop, zelfs jammer!

SolidWorks en meer in het algemeen Windows informeren u niet over de wijzigingen die zij aanbrengen,

Je collega's vertellen je door tijdgebrek niet de details van hun updates van dit en dat.

Conclusie: je macro's kunnen pas na verloop van tijd betrouwbaar zijn!

Twee voorzorgsmaatregelen die ik naar mijn mening moet nemen:

  - Beschadiging van het bestand dat een macro bevat>> het is zeldzaam maar doet evolutionaire archivering (evolutionair = n°

       in bestandsnamen): vraag een import aan vanuit de "VBA"-programmeerinterface,

       regelmatig, of, wanneer uw macro "gewicht" is geworden. Een copy-paste in Word geeft alleen

       tekst, maar waarom niet (hack).

  - de macro heeft geen foutafhandeling >> gebruik ten minste de instructies "On error goto" of "On error"

        volgende hervatten" (klik op een trefwoord in uw macro [bijv. "fout"] en druk vervolgens op F1 om meer informatie over de

        lokale of online hulp).

Een voorbeeld van Excel-macro's met een embryonale foutafhandeling (woorden onderstreept):

Private Sub Workbook_BeforeClose (Annuleren als Booleaans)
  On Error GoTo ErrorProcessingTe plaatsen aan het begin van elke procedure (al dan niet op basis van gebeurtenissen)
  'Verberg systematisch het blad "Instellingen"
    Bladen("Parameters"). Zichtbaar = Onwaar
  'Keer terug naar de zoom van het blad 'Kleine gebruikershandleiding' zoals het was bij het openen van het bestand.
    Bladen ("Een kleine handleiding"). Activeren
    Bereik ("A1:AI111"). Selecteer: ActiveWindow.Zoom = Waar: [A1]. Selecteren
  'Keer terug naar de zoom van het blad "EVAL_GLOBALE_EXPLO2015" zoals het was bij het openen van het bestand.
    Met vellen ("EVAL_GLOBALE_EXPLO2015")
      . Activeren
      Bereik ("A1:S30"). Selecteer: ActiveWindow.Zoom = Waar: [B6]. Selecteren
  'Keer terug naar de visualisatie zoals deze was bij het openen van het bestand.
      [CTRL1] = 1: VisualTeaching 'Bekijk alle leringen.
      [CTRL2] = 1: VisualGroup' Visualiseer de eerste van de groepen studenten.
  'Forceer de modus "Invoer ingeschakeld" zoals bij het openen van een bestand.
      . Opheffen
      . Vormen("InputStatus"). TextFrame.Characters.Text = "Invoer ingeschakeld": [InputStatus] = Waar
      . Beschermen
    Eindigen met
  'Sla het bestand automatisch op voordat het wordt gesloten.
    ActiveWorkbook.Opslaan
    Sub afsluiten
Behandeling: Etiket
  Stop 'Ter verificatie'
 'Als de bladeren bijvoorbeeld van naam zijn veranderd,
 'Voor het geval dat...
 'Foutverwerking is hier niet geprogrammeerd...
Einde Sub

Als een regel onder On Error GoTo Error "crappy" is, veroorzaakt het een fout wanneer de macro wordt uitgevoerd, dan stopt het bij de instructie "Stop". Dit duidt op een fout, het is een eerste stap.

Een kleine truc om de "waardeloze" regel te vinden> klik stap voor stap op ()  om de macro te starten en deze te laten ontvouwen > een geel spoor de regel aangeeft die zal worden uitgevoerd. Zodra de fout verschijnt, wordt de waardeloze regel niet uitgevoerd en gaat het proces verder onder het label ErrorProcessing:.

De minimale foutafhandeling is een 'Stop' (trefwoord) onder ErrorHandling: . Van daaruit kunt u het foutnummer ophalen en gebruiken om de fout te verwerken, te waarschuwen, te ....

 

Fijne dag.

 

 

1 like

Het lukte me om het in SW 2014 te openen, ik stuurde het bestand terug.

Indien nodig kan ik de code kopiëren en plakken om de macro opnieuw uit te voeren!

Heel interessant @caronmaxime

Misschien is het verstandiger om een tutorial te maken?

http://www.lynkoa.com/tutorial/create

Want helaas, de forumpagina's accepteren het formulier niet, dus we zien niet wat er onderstreept is!