Bonjour à tous
voici mon soucis , je voudrais enregistrer en PDF les mises en plans que je modifie.
comme je doit en faire plusieur de suite, a chaque fois il faud enregistrer sous re-donner le chemin ...... bref pas mal de clics.
J'ai essayer de me faire une macro, elle enregistre bien en PDF , mais toujour dans son dossier de création, et non pas dans le même dossier que la mise en plan.
La macro en question:
' ******************************************************************************
' C:\Users\FCH.CORADINCORP.001\AppData\Local\Temp\swx3264\Macro1.swb - macro recorded on 03/30/16 by fch
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3("E:\teste macro.PDF", 0, 0)
End Sub
merci de votre aide
françois
enr-pdf-1.swp
Pourquoi ne pas utiliser batchconverter?....
1 « J'aime »
Bonjour,
Voilà une macro qui devrait marcher :
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim docPath
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
docPath = Part.GetPathName
longstatus = Part.SaveAs3(Replace(LCase(docPath), ".slddrw", ".pdf"), 0, 0)
End Sub
5 « J'aime »
Bonjour, utilise l'utilitaire Mycadtools
2 « J'aime »
Bonjour,
voici la mocro qu'on utilise chez nous, cette macro enregistre le PDF automatiquement dans le dossier ou il y a la mise en plan.
macro_pdf.swp
1 « J'aime »
Merci a tous pour votre aide
SergeR: je ne connais pas bathconverteur, mais je vais me renseigner.
amseli: Mycad tool je ne l'ai pas dans mon contract pour le moment. j'espère pour bientot.
Manu 67: merci manu mais ta macro est vide
.PL : merci pour la macro ,j'ai juste remplacer le .sldprt par slddrw et maintenant elle marche trés bien,encore merci
la ligne d'origine : longstatus = Part.SaveAs3(Replace(LCase(docPath), ".sldprt", ".pdf"), 0, 0)
remplacer par: longstatus = Part.SaveAs3(Replace(LCase(docPath), ".slddrw", ".pdf"), 0, 0)
encore merci à tous pour votre aide
françois
1 « J'aime »
Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim lErrors As Long
Dim lWarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
swModel.Extension.SaveAs GetFilename(swModel.GetPathName) & " rev." & swModel.GetCustomInfoValue("", "Révision") & ".pdf", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, lErrors, lWarnings
End Sub
Function GetFilename(strPath As String) As String
Dim strTemp As String
strTemp = Mid$(strPath, InStrRev(strPath, "\") + 1)
GetFilename = Left$(strTemp, InStrRev(strTemp, ".") - 1)
End Function
macro_pdf.docx
1 « J'aime »
Merci manu67 je j'essais ta macro au plus vite
Les macros marchent bien, mais j'ai une petite demande à rajouter si c'est possible que la macro marche pour tous les plans ouverts dans Solidworks.