Makro, które powoduje awarię SolidWorks

Witam

dziś rano, wracając z wakacji, byłem zdumiony, widząc, że podczas uruchamiania jednego z moich makr, Solidworks uległ awarii.

 

Jest to dość denerwujące, a przy okazji nie pierwszy raz tak się zdarza (stąd powód, dla którego robię kopie zapasowe tak regularnie, jak to możliwe, ale mimo to kopia zapasowa jest nieco przestarzała..) [Powinienem zaznaczyć, że przymierzyłem dwie stacje, takie same dla obu. (SW2013 Win7 64 pro)]

Więc naprawdę nie rozumiem, kiedy próbuję uruchomić lub edytować makro, SolidWorks generuje raport o błędach i zamyka się (i to za każdym razem.. tak niemożliwe do odzyskania mojego kodu :/)

 

Niestety, nie mogę podać makra ze względu na ochronę prywatności.

 

Więc nie wiem, czy kiedykolwiek miałeś z tym do czynienia, czy masz rozwiązanie, które mogłoby pozwolić mi odzyskać mój kod (A dlaczego nie uniknąć tego..)

Witam

Dlaczego nie możesz odzyskać swojego kodu? Czy Twoje pliki .swp zostały usunięte?

Trudno będzie Ci pomóc bez kodu. Spróbuj podać listę akcji wykonywanych przez makro.

Do zobaczenia.

1 polubienie

Odpowiedź jest prosta

Nie mogę w ogóle otworzyć pliku .swp (istnieje .., ale kiedy przechodzę do "Macro -> Run or Edit", a następnie solidWorks ulega awarii i zamyka się) Więc nie można odzyskać kodu.

To tak, jakby plik był uszkodzony, ale co mogło to spowodować? Byłem na wakacjach i przed wyjazdem plik działał bardzo dobrze.

 

Więc moim zdaniem to nie jest problem z kodem, ale z samym plikiem .swp

Witam.

 

Czy próbowałeś zrobić jego kopię (CTRL+c, CTRL+v) i otworzyć kopię?

To głupia zasada, ale czasami działa

Duplikat

Tak, próbowałem...

Włożyłem też plik do sieci i przetestowałem go na innym komputerze, podobny wynik

Witam

Przypadkiem nie było żadnych aktualizacji komputerów podczas Twojej nieobecności? Zawsze myślę o słynnej aktualizacji: http://www.mycadblog.fr/problemes-solidworks-rencontres-apres-la-mise-a-jour-de-microsoft/

2 polubienia

Witam

Może to edytor makr ma problem.

Czy tworzenie nowego makra działa?

1 polubienie

Sprawdź, czy od czasu ostatniego działającego makra były jakieś aktualizacje dziennika, i spójrz na datę

Jeśli możesz, za pomocą windaude przywróć się do konfiguracji do ostatniej daty, w której działało Twoje makro

Myślę, że rozwiązałeś swój problem

Zobacz ten link między innymi

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

@+

Czy dotyczy to tylko jednego pliku?

Dziękuję za odpowiedzi,

Nie zainstalowano żadnych śladów tej aktualizacji.

 

Jeśli chodzi o edytor makr, mogę bez problemu otwierać i edytować inne makra.

 

I pamiętam, że miałem ten problem jakiś czas temu, kiedy nagle makro przestało działać.

 

Jeśli chodzi o renowację, byłbym zaskoczony, gdyby serwis informacyjny się zgodził.

I tak, jest to obecnie jedyny plik, którego to dotyczy, ale jak już powiedziałem, zdarzyło mi się to już raz czy dwa razy.

Witam

Rozwiązanie, które może zadziałać:

Otwórz makro w innej wersji SolidWorks, aby ponownie zarejestrować je jako .bas lub .swp, a czasami działa ono ponownie w innej wersji.

4 polubienia

Nie widząc makra ani nie wiedząc, jak to działa, przejście dalej w górę może być skomplikowane.

 

Z drugiej strony, może masz wymagania wstępne, które nie są spełnione? Na przykład w jednym z moich makr Excela proszę o odblokowanie arkuszy. Jeśli nie są zablokowane, mam cały problem z podsłuchiwaniem.

A może zrobiłeś nieskończoną pętlę, nie chcąc tego z nieplanowaną opcją?

 

Jeszcze dziwniejsze jest zamknięcie podczas montażu.

Czy próbowałeś go otworzyć za pomocą edytora tekstu?

Z edytorem tekstur to działa! (Cóż, jest nieczytelny, ale plik się otwiera).

Może to wynikać z kodu, ale mam wątpliwości, bo problem pojawiłby się w trakcie kodowania i zawsze mógłbym go edytować.

Czy istnieje ryzyko, że gdy SolidWorks otworzy makro, nieumyślnie je uszkodzi? Bo to byłby błąd. (Ponieważ większość makr, które nigdy nie stanowiły dla mnie problemu, są tylko do odczytu, ale tutaj, gdy nad nimi pracowałem, nie było).

1 polubienie

Witam

Ten sam problem mieliśmy w domu...

Przyczyna była następująca: Mój kolega dodał folder ze spacją, co spowodowało awarię makra.

Aby uniknąć tej niedogodności z mojej strony, zawsze mam makro w zeszycie, co pozwoliło nam przepisać makro i zrozumieć, jak to działa.

Więc wszystko, co mogę ci powiedzieć, to to, że jeśli makro uległo awarii podczas działania solidworks, nawet podczas ponownego uruchamiania lub kopiowania go, masz niewielkie ryzyko, że będziesz w stanie go ponownie użyć doświadczone... Musieliśmy to wszystko przerobić od nowa

A może pomysł na @.PL

Ale radzę, zawsze kopiuj makro do programu Word i drukuj sa zawsze można zapisać w takich przypadkach :)
 

2 polubienia

To jest to, co mówię sobie od dzisiejszego poranka @Centor. Muszę je gdzieś szybko zapisać jako plik tekstowy^^

 

gorąco tak czy inaczej historia pliku ze spacją, która wywala wszystko!

Dziękuję

Owszem, robię kopie zapasowe, ale tam od jakiegoś czasu nie miałem żadnych problemów i straciłem kilka dni pracy.

 

W każdym razie dałem .PL plik makra, powie mi, czy otworzy się na SW2015.

 

Czekając na jego odpowiedź, z góry dziękuję.

2 polubienia

Cze wszystkim

Twoje makra nie ulegały awariom, a teraz Tak. To bałagan, nawet niefortunny!

SolidWorks i szerzej Windows nie informują Cię o wprowadzanych przez siebie zmianach,

Twoi koledzy z powodu braku czasu nie mówią Ci o szczegółach swoich aktualizacji tego i owego.

Wniosek: Twoje makra mogą być niezawodne tylko z czasem!

Moim zdaniem należy podjąć dwa środki ostrożności:

  - uszkodzenie pliku zawierającego makro>> jest to rzadkie, ale odbywa się ewolucyjna archiwizacja (ewolucyjna = n°

       w nazwach plików): zażądać importu z interfejsu programowania "VBA",

       regularnie, lub gdy makro przybrało na wadze. Kopiowanie i wklejanie w programie Word daje tylko

       tekst, ale dlaczego nie (hack).

  - makro nie ma obsługi błędów >> użyciu co najmniej instrukcji "W przypadku błędu goto" lub "W przypadku błędu"

        wznów następny" (kliknij słowo kluczowe w makrze [np. "błąd"], a następnie naciśnij F1, aby uzyskać więcej informacji na temat

        pomoc lokalna lub online).

Przykład makr Excela z obsługą błędów w zarodku (słowa podkreślone):

Prywatny subskrybent Workbook_BeforeClose(Anuluj jako wartość logiczna)
  W przypadku błędu GoTo: ErrorProcessingDo umieszczenia na początku każdej procedury (opartej na zdarzeniach lub nie)
  'Systematycznie ukrywaj arkusz "Ustawienia"
    Arkusze("Parametry"). Widoczny = Fałsz
  'Wróć do powiększenia arkusza "Mała instrukcja obsługi", tak jak to było podczas otwierania pliku.
    Arkusze("Mała instrukcja obsługi"). Aktywować
    Zakres("A1:AI111"). Wybierz: ActiveWindow.Zoom = True: [A1]. Wybrać
  'Wróć do powiększenia arkusza "EVAL_GLOBALE_EXPLO2015", tak jak to było podczas otwierania pliku.
    Z arkuszami("EVAL_GLOBALE_EXPLO2015")
      . Aktywować
      Zakres("A1:S30"). Wybierz: ActiveWindow.Zoom = True: [B6]. Wybrać
  'Wróć do wizualizacji w takim stanie, w jakim była podczas otwierania pliku.
      [CTRL1] = 1: VisualTeaching 'Zobacz wszystkie nauki.
      [CTRL2] = 1: VisualGroup' Wizualizuj pierwszą z grup uczniów.
  'Wymuś tryb "Wejście włączone", tak jak podczas otwierania pliku.
      . Unprotect
      . Kształty("InputStatus"). TextFrame.Characters.Text = "Wejście włączone": [InputStatus] = Prawda
      . Chronić
    Zakończ się na
  'Automatycznie zapisz plik przed jego zamknięciem.
    ActiveWorkbook.Zapisz
    Wyjdź z subwoofera
Leczenie: Etykieta
  Zatrzymaj się 'W celu weryfikacji
 "w przypadku gdy liście zmieniły swoją nazwę, na przykład
 – Na wszelki wypadek...
 "Przetwarzanie błędów nie jest tutaj zaprogramowane...
Koniec subwoofera

Jeśli wiersz w polu W przypadku błędu GoTo Error jest "gówniany", powoduje błąd podczas wykonywania makra, a następnie zatrzymuje się na instrukcji "Stop". Wskazuje to na błąd, jest to pierwszy krok.

Mała sztuczka, aby zlokalizować "gównianą" linię> kliknij ()  krok po kroku, aby uruchomić makro i rozwinąć je, > żółty ślad wskazuje linię, która ma zostać wykonana. Gdy tylko pojawi się błąd, gówniana linia nie jest uruchamiana, a proces jest kontynuowany poniżej etykiety ErrorProcessing:.

Minimalna obsługa błędów to "Stop" (słowo kluczowe) w obszarze ErrorHandling: . Stamtąd możesz pobrać numer błędu i użyć go do przetworzenia błędu, ostrzeżenia, ....

 

Miłego dnia.

 

 

1 polubienie

Udało mi się go otworzyć w SW 2014, odesłałem plik.

W razie potrzeby mogę skopiować i wkleić kod, aby przerobić makro!

Bardzo interesujące @caronmaxime

Może mądrzej byłoby zrobić tutorial?

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

Ponieważ niestety strony forum nie akceptują formularza, więc nie widzimy tego, co jest podkreślone!