Błąd 91; makro, które już się nie uruchamia

Witam

Używam makra do wygenerowania zestawienia komponentów, a makro nie jest już uruchamiane.

Na początku mam błąd.

Excell otwiera się , ale mieszam się z instrukcją "Set swModelDocExt = swModel.Extension"

Nie rozumiem, bo do tej pory działało to bardzo dobrze...

Czy mógłbyś mi pomóc zidentyfikować problem?

Z góry dziękuję

 

LSE

 

 

Opcja jawna

Sub main()

Dim xlApp As Excel.Application
Ustaw xlApp = Nowy Excel.Aplikacja
Dim wbk As Excel.Workbook
Dim sht As Excel.Arkusz roboczy


Dim swApp                   jako SldWorks.SldWorks
Dim swModel                 As SldWorks.ModelDoc2
Dim swModelDocExt           As SldWorks.ModelDocExtension
Dim swBOMAnnotation         As SldWorks.BomTableAnnotation
Dim swBOMFeature            As SldWorks.BomFeature
Dim boolstatus              As Boolean
Dim BomType                 tak długo, jak długo
Przyciemnij konfigurację           jako ciąg
Dim TemplateName            As Ciąg
Dim TableTemplate           As String
Dim sFileName               As Ciąg
Dim Dossier_Nomenclature    As String (Ciąg)
Dim Repertoire              Jako Smyczek
Sun Repertoire_Test         jako wartość logiczna
Dim Fichier_ouvrir          As Thong
Dim fichier_complet         jako stringi
Dim myError                 As Liczba całkowita
Dim myWarning               As Integer (liczba całkowita)
Dim Nom_Fichier_Excell      Jako wariant
Przyciemnij ścieżkę                  jako ciąg
Dim Fichier_section_source  As String (Ciąg)


Otwieranie arkusza Excell

Z xlApp
    . Widoczne = Prawda
    Ustaw wbk = . Skoroszyty.Dodaj
    Ustaw sht = wbk. Arkusz ActiveSheet
Zakończ się na

' Pobieranie informacji o zespole

Ustaw swApp = GetObject(, "SldWorks.Application")
Ustaw swModel = swApp.ActiveDoc
Ustaw swModelDocExt = swModel.Extension

sFileName = swModel.GetPathName ' = wyświetlana nazwa zestawu ze ścieżką
Debug.Print nazwa_pliku

 


2022-04-08_15h58_44.png

Spotkałem się już z problemami z tą linią (może z tego wynikać następujący błąd):

Ustaw swApp = GetObject(, "SldWorks.Application")

Do zastąpienia przez

Ustaw swApp = Application.SldWorks

W przeciwnym razie musisz zajrzeć do zmiennych lokalnych e, uruchamiając makro krok po kroku (F8)

 

Czy masz resztę makra Nie mam problemu (SW2020)

W przeciwnym razie spójrz na ten temat, wersja jest doskonale funkcjonalna w domu (po zmianie ścieżki szablonu nazewnictwa)

https://www.lynkoa.com/node/1130889

Po przetestowaniu, jeśli użyjesz go do poprawienia swojego, nie ma powodu, dla którego nie miałoby to również działać.