Hier habe ich ein kleines Problem, ich bekomme Werte aus der Lötteileliste, um sie an die benutzerdefinierten Eigenschaften zu senden. Ich benutze; "SW-Seitenwandbreite von tôle@@@Sheet<1>@C000-00-MS-001. SLDPRT"
Der zurückgegebene Wert ist instabil und entspricht nicht dem Unit-Format, das in den Dokumenteigenschaften konfiguriert ist. Die 0en auf der rechten Seite werden automatisch abgeschnitten, wenn welche vorhanden sind, auch wenn die Option aktiviert ist, sie nicht zu löschen. Also dachte ich mir eine Lösung aus. Über ein Makro rufen Sie den Wert ab, wandeln ihn in 3 Dezimalstellen um und geben ihn schließlich in den benutzerdefinierten Eigenschaften zurück. Das Problem ist, dass ich in der Lage bin, diesen Wert zu holen und zurückzusenden, aber ich weiß nicht, wie ich ihn in einen Wert mit 3 Dezimalstellen umwandeln kann, könnte mir jemand helfen.
Vielen Dank
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim textexp As String
Dim valout As String
Dim retVal As Double
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
swCustPropMgr.Get2 "teste", textexp, valout
retVal = swCustPropMgr.Delete2("teste")
retVal = swCustPropMgr.Add2("teste", swCustomInfoText, valout)
MsgBox "teste" & " = " & valout
End Sub