Nagrywanie makr

Cze wszystkim

Nie wiem, czy to właściwe miejsce, aby zadać to pytanie, ale wiem, że są tacy, którzy dobrze dotykają Vba SW. To by było jakieś wyjaśnienie, bo za każdym razem, gdy nagrywam makro, zadaję sobie te pytania: Oto zapisane makro używane do rekonstrukcji pliku:

               Dim swApp As Object (Obiekt Ciemny)
               Przyciemnij część jako obiekt
               Dim boolstatus As Boolean
               Dim longstatus As Long, longwarnings As Long
Sub main()
               Ustaw swApp = _
               Aplikacja.SldWorks
               Ustaw część = swApp.ActiveDoc
               boolstatus = Part.EditRebuild3()
Koniec subwoofera

Chciałbym wiedzieć, dlaczego SW zawsze tworzy zmienne "longstatus" i "longwarning", podczas gdy prawie nigdy ich nie używa? Tak na wszelki wypadek? Do czego można je wykorzystać?
Dodatkowo istnieje zmienna typu Boolean, dlaczego jest tworzona? I dlaczego ten rodzaj zmiennej jest używany do przeprowadzenia tej akcji rekonstrukcyjnej?

Dziękuję za odpowiedzi, które oświecą mnie w kodowaniu mojego makra :)

Miłego dnia

Longqtatus i Longwarning służą do odzyskiwania kodów błędów, jeśli są takie w twoim przykładzie, możesz je usunąć, ponieważ nie są używane w kodzie

dla boolstatus jest specyficzny dla SW i tak naprawdę nie określiłbym jego stawki, ale musisz to zostawić :/

2 polubienia

Są to zazwyczaj zmienne używane do pobierania błędów. Na przykład na

   boolstatus = Part.EditRebuild3()

Możesz wykonać test w następujący sposób:

   Jeśli boolstatus Wtedy
      Debug.print "Funkcja powiodła się"
  inaczej
      Debug.print "Funkcja nie powiodła się"
   Endif

Ale osobiście prawie nigdy ich nie używam, cały czas je usuwam. Co radzę zrobić po nagraniu makra:

   Ustaw swApp = _
               Aplikacja.SldWorks

  -> Możliwość założenia na jedną linię

   Ustaw swApp = Application.SldWorks

----

               Dim swApp As Object (Obiekt Ciemny)
               Przyciemnij część jako obiekt

Określ typy, aby mieć listę dostępnych funkcji

               Dim swApp jako SldWorks.SldWorks
               Przyciemnij część jako SldWorks.ModelDoc2

 

2 polubienia