Hallo
Ik zit momenteel in een impasse over deze Pack And Go-code.
Specificaties:
- Pak het pakket en ga van een vergadering /Ok voor mij/
- Maak een lijst van alle bestanden die " OF " bevatten /Ok voor mij/
- Bewaar alleen dat /Ok voor mij/
- Hernoem ze met een nieuw nummer /Ok voor mij/
- Maak mijn nieuwe Pack And Go-lijst /Ok voor mij/
- Genereer Pack And Go // Werkt niet //
Mijn filesArray tabel is goed gevuld, ik noem het met SetDocumentSaveToNames.
Alleen houdt ze er geen rekening mee.
De SavePackAndGo-functie werkt niet.
Bij voorbaat dank voor uw antwoorden.
Sub hoofd()
Dim swApp als SldWorks.SldWorks
Dim swModel als ModelDoc2
Dim swModelDocExt als SldWorks.ModelDocExtension
Dim swPackAndGo als PackAndGo
StatusArray dimmen als variant
Dim status Als Booleaans
Statussen dimmen als Booleaans
Dim arraySource() als tekenreeks
Dim arrayResult() als tekenreeks
Dim i zo lang, j zo lang
Dim searchString Als String
Zon NummerZoeken als string
Dim telling zo lang
Dim resultaat als tekenreeks
Dim tellerOF As Collectie
Dim numeroOF Als Variant
Dim RsultatOF als snaar
Bestanden dimmenArray() als tekenreeks
dim ListeOF() als string
' Initialiser SolidWorks
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Vérifier si un document est ouvert
If swModel Is Nothing Then
MsgBox "Veuillez ouvrir un document SolidWorks."
Exit Sub
End If
Set swModelDocExt = swModel.Extension
' Créer l'objet Pack and Go
Set swPackAndGo = swModelDocExt.GetPackAndGo
' Include any drawings, SOLIDWORKS Simulation results, and SOLIDWORKS Toolbox components
swPackAndGo.IncludeDrawings = Onwaar
Debug.Print " Inclusief tekeningen: " & swPackAndGo.IncludeDrawings
swPackAndGo.IncludeSimulationResults = Onwaar
Debug.Print " Inclusief SOLIDWORKS Simulatie resultaten: " & swPackAndGo.IncludeSimulationResults
swPackAndGo.IncludeToolboxComponents = Onwaar
Debug.Print " Voeg SOLIDWORKS Toolbox-componenten toe: " & swPackAndGo.IncludeToolboxComponents
' Obtenir les informations sur les fichiers
swPackAndGo.GetDocumentNames namesArray
' Structure répertoire
swPackAndGo.FlattenToSingleFolder = True
' Définir la chaîne de recherche
searchString = "OF "
origineOF = "30277"
nouvelOF = "45000"
' Utiliser Filter pour extraire les éléments contenant la chaîne de recherche
tableauResultat = Filter(namesArray, searchString, True, vbTextCompare)
'myPath = "C:\BE\1 Plans 2024\Mathieu"
For i = LBound(tableauResultat) To UBound(tableauResultat)
RsultatOF = tableauResultat(i)
j = j + 1
Debug.Print RsultatOF
Next i
ReDim filesArray(0 To j - 1)
For i = 0 To UBound(tableauResultat)
FileName = GetFileName(CStr(tableauResultat(i)))
' Remplacer la chaîne si spécifié
If origineOF <> "" Then
FileName = Replace(FileName, origineOF, nouvelOF)
FileNames = FileName
End If
filesArray(k) = FileNames
Debug.Print "Nouveau fichier " & filesArray(k)
k = k + 1
'Debug.Print FileNames
Next
myPath = "C:\BE\1 Plans 2024\Mathieu"
status = swPackAndGo.SetSaveToName(True, myPath)
statuses = swPackAndGo.SetDocumentSaveToNames(filesArray)
statusArray = swModelDocExt.SavePackAndGo(swPackAndGo)
Einde Sub
Functie GetFileName(pad als tekenreeks) als tekenreeks
GetFileName = Right(pad, Len(pad) - InStrRev(pad, ""))
Functie beëindigen
PackAndGo.zip (1.1 MB)
MTD-PackAndGo-teste.swp (40.5 KB)