VBA SOLIDWORKS добавить таблицу проектирования из файла

#vba #api #solidworks

Вопрос:

У меня есть код, который «Упаковывается и отправляется» отдельно, и таблица чертежей и дизайна перемещается в новое место, и все три файла имеют одинаковые имена. И теперь у меня возникла проблема с обновлением этой упакованной детали из таблицы дизайна, поскольку у меня нет таблицы дизайна, связанной с этой деталью, потому что код, который у меня есть для «Упаковать и уйти», не переименовывает файлы, если он подключен.

 Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swPackAndGo As SldWorks.PackAndGo
Dim OpenFilePath As String
Dim OpenFileName As String
Dim SavePath As String
Dim SaveName As String
Dim myFileName As String
Dim myExtension As String
Dim pgFileNames As Variant
Dim pgFileStatus As Variant
Dim status As Boolean
Dim statuses As Variant
Dim i As Long
Dim partDocExt As SldWorks.ModelDocExtension

Sub PackAndGo()

Call Calculate_TFVPM_FormatSketchFileName

OpenFilePath = "E:FORMATFormatSketch.SLDPRT"
SavePath = "E:FORMATTemp"
SaveName = NewSaveName

Set swApp = GetObject(, "SldWorks.Application")
Set swModel = swApp.OpenDoc(OpenFilePath, swDocPART)

'Set swModel = swApp.ActiveDoc
OpenFilePath = swModel.GetPathName
OpenFileName = Mid(OpenFilePath, InStrRev(OpenFilePath, "")   1, InStrRev(OpenFilePath, ".") - InStrRev(OpenFilePath, "") - 1)

Set swModelDocExt = swModel.Extension

'Update part from design table



'Get Pack and Go object
Set swPackAndGo = swModelDocExt.GetPackAndGo

'Include any drawings
swPackAndGo.IncludeDrawings = True

'Set folder where to save the files
status = swPackAndGo.SetSaveToName(True, SavePath)

'Get files path
status = swPackAndGo.GetDocumentSaveToNames(pgFileNames, pgFileStatus)
For i = 0 To UBound(pgFileNames)
    myFileName = Mid(pgFileNames(i), InStrRev(pgFileNames(i), "")   1, InStrRev(pgFileNames(i), ".") - InStrRev(pgFileNames(i), "") - 1)
    myExtension = Right(pgFileNames(i), Len(pgFileNames(i)) - InStrRev(pgFileNames(i), ".")   1)

    'Replace name
    If LCase(myFileName) = LCase(OpenFileName) Then
        pgFileNames(i) = SavePath amp; SaveName amp; myExtension
    End If
Next

'Set files path
status = swPackAndGo.SetDocumentSaveToNames(pgFileNames)

'Flatten the Pack and Go folder structure; save all files to the root directory
swPackAndGo.FlattenToSingleFolder = True

'Pack and Go
statuses = swModelDocExt.SavePackAndGo(swPackAndGo)
        
'Close initial template
swApp.CloseDoc (swModel.GetPathName)
        
End Sub
 

Не совсем уверен, как найти в Google то, что я ищу, но то, что я нашел, это:
http://help.solidworks.com/2018/english/api/sldworksapi/get_excel_design_table_worksheet_example_vb.htm

Пытаясь понять это, может быть, кто-то здесь уже знает решение?