Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Excel Export -> Zahlenformat ändert sich?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Export -> Zahlenformat ändert sich? (396 / mal gelesen)
jeti79
Mitglied



Sehen Sie sich das Profil von jeti79 an!   Senden Sie eine Private Message an jeti79  Schreiben Sie einen Gästebucheintrag für jeti79

Beiträge: 22
Registriert: 30.11.2009

Catia Version 5-6 Rel2020 SP3, Built30 HF 32
Excel 365

erstellt am: 05. Apr. 2023 10:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Catia_V5_Zahlenformat.jpg

 
Hallo zusammen,

ich bin recht unerfahren, was die Programmierung in Catia Macros angeht. Ich habe Anhand einiger Codebeispiele ein Makro geschrieben, welches erfolgreich die CoG-Daten in eine Excel Datei schreibt. Was mir dabei auffällt ist, dass die Werte abweichen, von dem, was ich z.B. mit einer MessageBox direkt in Catia ausgegeben bekomme. Ich habe schon einige Formattierfunktionen ausprobiert. Das Problem scheint aber, dass das Komma nicht richtig übernommen wird!?

Könnt Ihr mir helfen, wie ich die Koordinaten richtig ins Excel bekomme? (Also, wie in der MessageBox dargestellt)

Ich habe im Moment Folgendes getestet:

Code:
...
Set oInertia = P.GetTechnologicalObject("Inertia")
On Error resume next
oInertia.GetCOGPosition oCoordinates
if cstr(oCoordinates(0))<>"" then
objXL.Cells(1+x,1).Value =  P.PartNumber
objXL.Cells(1+x,2).Value =  P.Name
objXL.Cells(1+x,3).Value =  oCoordinates(0)
objXL.Cells(1+x,4).Value =  oCoordinates(1)
objXL.Cells(1+x,5).Value =  oCoordinates(2)
objXL.Cells(1+x,6).Value =  cstr(round(oCoordinates(0)*1000 , 3))
objXL.Cells(1+x,7).Value =  cstr(round(oCoordinates(1)*1000 , 3))
objXL.Cells(1+x,8).Value =  cstr(round(oCoordinates(2)*1000 , 3))

x=x+1
end if
...



Beide Varianten sind auf dem Screenshot zu sehen -> Allerdings liefern beide nicht die scheinbar richtige Darstellung, wie in der MessageBox:
Code:
msgbox(cstr(round(oCoordinates(0)*1000 , 3))& "|" & cstr(round(oCoordinates(1)*1000 , 3))& "|" & cstr(round(oCoordinates(2)*1000 , 3)))

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11792
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 05. Apr. 2023 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jeti79 10 Unities + Antwort hilfreich

Servus

Lass mal testweise das CStr beim Einfügen der Werte in Excel weg, damit sich Excel darum kümmert den Wert richtig darzustellen (und nicht zuerst versuchen muss den String in eine Zahl zu konvertieren)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jeti79
Mitglied



Sehen Sie sich das Profil von jeti79 an!   Senden Sie eine Private Message an jeti79  Schreiben Sie einen Gästebucheintrag für jeti79

Beiträge: 22
Registriert: 30.11.2009

Catia Version 5-6 Rel2020 SP3, Built30 HF 32
Excel 365

erstellt am: 06. Apr. 2023 02:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für Deinen Tipp,

Ich habe es anscheinend damit hinbekommen, dass ich das Ergebnis einfach nur x1000 genommen habe. Damit wird es zwar nicht gerundet, aber das kann ich in der weiteren Verarbeitung machen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz