Ca avance bien,
-Redimensionner ok,
-Boucle ok,
-Le nom presque ok :
Si je ne laisse pas le point à la fn, Nom_EsquisseAP n'est pas pris en compte, ça marche que s'il y a le point...
Je suis en train de voir pour les configurations dérivées xD
Mon code :
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim SkPicture As Object
Dim instance As ISketchPicture
Dim Width As Double
Dim Height As Double
Dim AspectRatioLocked As Boolean
Dim value As Boolean
Dim X As Double
Dim Y As Double
Dim Système As Object 'Système de fichiers
Dim Dossier As Object 'Répertoire
Dim Fichiers As Object 'Collection de fichiers du répertoire
Dim Fichier As Object 'Fichier (élément de la collection Fichiers)
Dim Nom_Dossier As String 'Nom du répertoire
Dim Nom_Fichier As String 'Nom du fichier
Dim Nom_EsquisseAV As String 'Nom d'esquisse avant
Dim Nom_EsquisseAP As String 'Nom d'esquisse après
Dim k As Integer
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.OpenDoc6("C:\Users\ad36aaen\Documents\Utilisat\Conception SdC\1300\Structures de base\Structures\Matériels\Matériels.SLDPRT", 1, 0, "", longstatus, longwarnings)
swApp.ActivateDoc2 "Matériels.SLDPRT", False, longstatus
Set Part = swApp.ActiveDoc
k = 1
'Lecture du répertoire
Nom_Dossier = "C:\Users\ad36aaen\Documents\Utilisat\Conception SdC\1300\Structures de base\Structures\Matériels\Photos matériels\P01\HO\Test"
Set Système = CreateObject("Scripting.FileSystemObject")
Set Dossier = Système.GetFolder(Nom_Dossier)
Set Fichiers = Dossier.Files
'Boucle
For Each Fichier In Fichiers
'Créer noms
Nom_Fichier = Nom_Dossier & "\" & Fichier.Name
Nom_EsquisseAV = "Esquisse" & k
Nom_EsquisseAP = Left(Fichier.Name, Len(Fichier.Name) - 3)
'Sélection Plan
boolstatus = Part.Extension.SelectByID2("Plan à 4mm", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
'Créer image d'esquisse
Part.SketchManager.InsertSketch True
Set SkPicture = Part.SketchManager.InsertSketchPicture(Nom_Fichier)
'Redimensionner
SkPicture.SetSize 50 / 1000, 60 / 1000, False
SkPicture.SetOrigin -25 / 1000, -20 / 1000
Part.ClearSelection2 True
'Selectionner Esquisse + modifier nom
boolstatus = Part.Extension.SelectByID2(Nom_EsquisseAV, "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, Nom_EsquisseAP)
'État supprimer d'esquisse => allègera quand on sera à la 1000ème esquisse
boolstatus = Part.Extension.SelectByID2(Nom_EsquisseAP, "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
k = k + 1
Next Fichier
End Sub