Bereich einer SolidWorks Skizze in VBA

Hallo zusammen, im Rahmen eines Projekts, das etwas lang ist, bleibe ich bei einem einfachen Punkt hängen: Ich muss (in einem Makro) die Fläche einer Skizze (in der Double-Form) bestimmen, um sie dann in eine Exel-Datei zu kopieren (das ist gut). Das makrofreie Äquivalent ist:

  1. Wählen Sie den Sketch aus (mit dem Namen "Schritt 5")
  2. Eigentum an der Oberfläche
  3. Extrahieren Sie den Bereich (oder den Bereich, in diesem Fall läuft es auf dasselbe hinaus) und verknüpfen Sie ihn mit einer Variablen vom Typ Double

Ich habe diesen Code bereits ausprobiert, aber die Phase "Bereich extrahieren" funktioniert, wie Sie sich vorstellen können, nicht (der Rest tut es).

 

Dimmen swApp als Objekt
Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long, longwarnings As Long
Sub copySurface()

Oberfläche dimmenAuswahl als Doppelt

'*************************************
Ermöglicht das Öffnen des Dokuments in SolidWorks
'*************************************

swApp = _ setzen
Anwendung.SldWorks
Set Part = swApp.ActiveDoc

'*************************************
'Extrahieren Sie den Bereich der Skizze
'*************************************

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Schritt5", "GESICHT", 0, 0, 0, Falsch, 0, Nichts, 0)

Dimmen Sie als Maß
Festlegen von swMesure = Part.Extension.CreateMeasure

monAire = swMesure.Area

'*************************************
'Wählt die aktuell geöffnete Exel-Datei aus
'*************************************


Set swApp = CreateObject("SldWorks.Application")
Set xlApp = GetObject(, "Excel.Anwendung")
Set Part = swApp.ActiveDoc
Legen Sie Xlsh = xlApp.Application.ActiveSheet fest

'*************************************
Implementieren des Werts in der Excel-Tabelle
'*************************************

Xlsh.Cells(2, 2) = monAire

Ende Sub

 

Los geht's, wenn einige Ideen haben, vielen Dank im Voraus!

Es ist ein gutes Problem, lösen Sie.