Hallo liebe Community!
ich bin neu hier und gleichzeitig blutiger Anfänger in Visual Basic was Macro Programmierung betrifft.
Ich bin hier über die Google Suche bereits auf einen Beitrag (http://ww3.cad.de/foren/ubb/Forum139/HTML/004035.shtml#000004) gestoßen, der genau meine Problematik beinhaltet und der mir schon sehr viel geholfen hat, allerdings scheitere ich am allerletzten Schritt.
Mein Ziel: Ich möchte mir Punkte, die ich in einem Catia Part habe, als Excel Datei exportieren lassen. In der Excel Datei sollen X Y Z Koordinaten (Kommazahlen) und Punktname stehen.
Meinen Quelltext habe ich weitgehend dem oben genannten Link entnommen und für meine Anwendung leicht abgeändert. Soweit läuft auch alles, bis auf die Exportierung der Koordinaten. Im Anhang ein Bild wie meine Excel Datei ausschaut. Die Namen der Beispielpunkte (Point1, Point2, Point3) sind vorhanden, allerdings stehen für die Koordinaten überall die Nullen drin.
Leider wurde der oben genannte Link geschlossen, sodass ich meine Frage nicht direkt darin stellen konnte. Weitere Suchen haben mich auch nicht weiter gebracht, daher die Neueröffnung des Themas.
hier mein Aktueller Quelltext
-----------------------------------------------------------------------------------------------------------------------------
Private Sub CommandButton2_Click()
' Trennzeichen
trz = ";"
CrLf = Chr(10)
On Error Resume Next
Set Document = CATIA.ActiveDocument
Set filesys = CATIA.FileSystem
' Hier Filename angeben/editieren
filename = "Y:\OEM\SCHUL\mw23466\Steuermodell_Punkte_exp.csv"
'Ist die Datei schon vorhanden, wird sie beim nächsten mal überspeichert
If filesys.FileExists(filename) Then
filesys.DeleteFile (filename)
End If
Set File = filesys.CreateFile(filename, True)
Set stream = File.OpenAsTextStream("ForWriting")
Err = 0
Dim selection1 As Selection
Set selection1 = Document.Selection
'Dieser Befehl sucht die Punkte
selection1.Search "((CATPrtSearch.Point) + CATGmoSearch.Point),all"
If Err <> 0 Then
MsgBox ("Keine Punkte gefunden!")
End If
Dim coords(3) As Single
For i = 1 To selection1.Count
Set Element = selection1.Item(i)
Set Point = Element.Value
Point.GetCoordinates (coords)
stream.Write (coords(0) & trz & coords(1) & trz & coords(2) & trz & Point.Name)
If i <> selection1.Count Then
stream.Write (CrLf)
End If
Next
stream.Close
MsgBox ("Die Punkte wurden erfolgreich exportiert. Die Daten sind als Excel Datei im Verzeichnis Y:\OEM\SCHUL\mw23466 zu finden! Der Dateiname lautet: Steuermodell_Punkte_exp ")
End Sub
------------------------------------------------------------------------------------------------------------
Ich hoffe es kann einer von euch den Fehler im Code finden, oder mir sagen, was ich falsch mache.
Vielen Dank!
Grüße Muckenbatscher
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP