Nach einigen Recherchen und Versuchen habe ich Folgendes zusammengetragen:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim Filepath As String
Dim fileName As String
Dim Revision As String
Dim exportData As SldWorks.ExportPdfData
Dim lErrors As Long
Dim lWarnings As Long
Dim confName As String
Dim revNmb As String
Dim val As String
Dim resolved As Boolean
Dim swview As SldWorks.View
Dim swRefModel As ModelDoc2
Dim swRefAssy As AssemblyDoc
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim ValOut As String
Dim numéro As String
Dim description As String
Sub Main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Tu as pensé à ouvrir ta mise en plan?", vbCritical
End
End If
If swModel.GetType <> swDocDRAWING Then
MsgBox "Et si tu ouvrais ta mise en plan avant?", vbCritical
End
End If
Set swDraw = swModel
If swDraw.GetPathName = "" Then
swDraw.Save
End If
If swModel.GetType = swDocDRAWING Then ' Pour savoir si le document est un plan
Set swDraw = swApp.ActiveDoc
Set swview = swDraw.GetFirstView 'selectionne le fond de plan
Set swview = swview.GetNextView 'selectionne la premier vue
Set swRefModel = swview.ReferencedDocument
Set swCustPropMgr = swRefModel.Extension.CustomPropertyManager("")
swCustPropMgr.Get4 "Ville", True, ValOut, "Ville", False 'récupère la valeur de la propriété "Ville"
swCustPropMgr.Get5 "Rue/Quartier", True, ValOut, "Rue/Quartier", False 'récupère la valeur de la propriété "Rue/Quartier"
swCustPropMgr.Get2 "indice", True, ValOut, "indice", False 'récupère la valeur de la propriété "indice"
Dim dateNow As String
dateNow = Replace(Date, "/", ".")
Filepath = "D:\Téléchargements\Plan PDF"
Filepath = Filepath + "\"
fileName = ValOut & " " & "-" & " " & ValOut & " " & "-" & " " & "Ind." & " " & ValOut & " " & "-" & " " & dateNow
swDraw.SaveAs (Filepath + fileName + ".PDF")
Exit Sub
End If
End Sub
Lassen Sie es mich klar sagen, ich habe nur einen kleinen Teil von all dem verstanden, aber es ist bis auf einen Teil funktionsfähig.
Ich habe mir mehrere Themen zur Wiederherstellung von Eigentum angesehen, verstehe aber nicht, wie es funktioniert:
swCustPropMgr.Get4 "Ville", True, ValOut, "Ville", False 'récupère la valeur de la propriété "Ville"
swCustPropMgr.Get5 "Rue/Quartier", True, ValOut, "Rue/Quartier", False 'récupère la valeur de la propriété "Rue/Quartier"
swCustPropMgr.Get2 "indice", True, ValOut, "indice", False 'récupère la valeur de la propriété "indice"
das Get4 oder Get5... Ich weiß nicht, wie ich sagen soll:
Der Wert, der "Stadt" zugewiesen wird, ist der Wert, der sich im nächsten Feld befindet
und dann, um es in den Namen transkribieren zu können, denn im Moment werden außer dem Datum die Namen der Immobilien nicht angezeigt. Hier ist das Ergebnis, das ich erhalte: " - - Ind. - 04.02.2019.PDF"
Um ein wenig mehr zu verstehen, was der Zweck aller Zeilen unter "Option Explizit" des Stils ist:
Dim swApp As SldWorks.SldWorks
Vielen Dank im Voraus