Witam
Wykonałem makro pozwalające mi na wygenerowanie pliku DXF rysunków zawartych w katalogu.
Jednakże, gdy DXF już istnieje, pojawia się okno dialogowe z komunikatem:
"Plik "MyFile" już istnieje, czy chcesz go zastąpić?
Czy istnieje metoda zastąpienia pliku bez konieczności klikania tak za każdym razem, gdy plik już istnieje?
Z góry dziękujemy,
Gautier
Witam
W zależności od zastosowanej metody wydaje mi się, że opcja "cicha" może rozwiązać problem
Spróbować
Cdlt powiedział:
Witam
Powinieneś być w stanie użyć funkcji "SaveAs3", oto przykład makra:
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swmodel As SldWorks.ModelDoc2
Dim stPath As String
Dim lgFichier As Long
Dim blretval As Boolean
Dim Errors As Long
Dim Warnings As Long
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Set swApp = Application.SldWorks
'on récupére le document actif
Set swmodel = swApp.ActiveDoc
If Not swmodel Is Nothing Then
'on vérifie que le fichier est enregisté
If swmodel.GetPathName = "" Then
MsgBox "Veuillez enregistrer votre document avant de lancer la macro", vbInformation
End
Else
'on récupére l'emplacement du fichier
stPath = swmodel.GetPathName
'on récupére le nombre de caractére jusqu'au . de l'extension
lgFichier = InStrRev(stPath, ".", -1, vbTextCompare) - 1
'on récupére le chemin sans l'extention
If lgFichier > 0 Then
stPath = Left(stPath, lgFichier)
End If
End If
'si le document est une mise en plan
If swmodel.GetType = swDocDRAWING Then
'on créer le DXF
Dim nameDXF As String
nameDXF = stPath & "_drw.DXF"
blretval = swmodel.SaveAs3(nameDXF, 0, 0)
MsgBox "Traitement terminé"
End If
End If
End Sub
Pozdrowienia
Witam
Dziękuję za odpowiedzi. d.roger Używam już funkcji SaveAs3:
"longstatus = swModel.SaveAs3(nom_Fichier & " WEW. DXF", 0, 0)"
Be.adl, szukałem funkcji do nagrywania z opcją Silent i ten kod działa:
longstatus = swModel.Extension.SaveAs(nom_Fichier & " WEW. DXF", swSaveAsOptions_Silent, 0, swExportPDFData, nErrors, nWarnings)
Opcja "swSaveAsOptions_Silent" pozwala na wyłączenie komunikatu.
Dziękuję za odpowiedzi.
Gautier.