Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Excel Datei über Makro in Catia öffnen

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 Datei über Makro in Catia öffnen (3788 mal gelesen)
Connors
Mitglied
Student

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

Beiträge: 6
Registriert: 15.02.2008

erstellt am: 15. Feb. 2008 10:24    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

Hallo zusammen,

ich versuche ein Makro zu schreiben, welches einen oder mehrere Parameter in eine vorhandene Excel Datei exportiert. Ich hab keine Erfahrung mit Makros deshalb hoffe ich dass mir jemand helfen kann. Ich habe es schon geschafft Excel über ein Makro zu öffnen und eine neue Datei anzulegen und den Wert des Parameters in eine Zelle zu schreiben und die Datei dann wieder zu schließen und zu speichern.
Ich möchte aber den Wert in eine vorhandene Datei schreiben, die z.B. auf "C:\Eigene Dateien\Para.xls" liegt. Es bringt mir auch nichts eine excel.exe unter C:/Programme...usw zu starten.
Mein erster Versuch sieht wie folgt aus:

Sub CATMain()
Set objXL = CreateObject("Excel.Application")
objXL.Visible = True
Set oAWBook = objxl.Workbooks.Add
objXL.Cells(1,1).Value = "Wert1"
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set parameters1 = part1.Parameters
Set length1 = parameters1.Item("PC-H63\Sicht nach vorne auf Fahrbahn\Sicht nach vorne auf Fahrbahn")
objXL.Cells(2,1).Value = length1.Value
sFileName = "C:\Eigene Dateien\Para.xls"
oAWBook.SaveAs sFileName
objXL.Quit

End Sub

Aber wie gesagt, dabei erstelle ich eine neue Datei aber ich würde gerne in eine vorbereitete Excel Datei schreiben.

Ich schon mal im Voraus für Eure Hilfe!

Gruß

Connors

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

Tapani.
Mitglied



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

Beiträge: 56
Registriert: 12.05.2006

erstellt am: 15. Feb. 2008 19:13    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 Connors 10 Unities + Antwort hilfreich

Hallo Connors,

du brauchst statt

Code:

Set oAWBook = objxl.Workbooks.Add

nur

Code:
Set oAWBook = objxl.Workbooks.open("C:\Eigene Dateien\Para.xls")

und statt "oAWBook.SaveAs sFileName" nur "oAWBook.save" verwenden.

CUSee You
    Tapani


Zitat:
Original erstellt von Connors:
Hallo zusammen,

ich versuche ein Makro zu schreiben, welches einen oder mehrere Parameter in eine vorhandene Excel Datei exportiert. Ich hab keine Erfahrung mit Makros deshalb hoffe ich dass mir jemand helfen kann. Ich habe es schon geschafft Excel über ein Makro zu öffnen und eine neue Datei anzulegen und den Wert des Parameters in eine Zelle zu schreiben und die Datei dann wieder zu schließen und zu speichern.
Ich möchte aber den Wert in eine vorhandene Datei schreiben, die z.B. auf "C:\Eigene Dateien\Para.xls" liegt. Es bringt mir auch nichts eine excel.exe unter C:/Programme...usw zu starten.
Mein erster Versuch sieht wie folgt aus:

Sub CATMain()
Set objXL = CreateObject("Excel.Application")
objXL.Visible = True
Set oAWBook = objxl.Workbooks.Add
objXL.Cells(1,1).Value = "Wert1"
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set parameters1 = part1.Parameters
Set length1 = parameters1.Item("PC-H63\Sicht nach vorne auf Fahrbahn\Sicht nach vorne auf Fahrbahn")
objXL.Cells(2,1).Value = length1.Value
sFileName = "C:\Eigene Dateien\Para.xls"
oAWBook.SaveAs sFileName
objXL.Quit

End Sub

Aber wie gesagt, dabei erstelle ich eine neue Datei aber ich würde gerne in eine vorbereitete Excel Datei schreiben.

Ich schon mal im Voraus für Eure Hilfe!

Gruß

Connors


------------------
Don't take life so seriously....
it's not a permanent  condition

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

Connors
Mitglied
Student

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

Beiträge: 6
Registriert: 15.02.2008

erstellt am: 17. Feb. 2008 15:49    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

Vielen Dank,
das funktioniert. Habe mittlerweile sogar noch eine andere Lösung gefunden.

Sub CATMain()

Set objXL = GetObject("C:\...\Para_Test.xls")

objXL.Application.Visible = True

objXL.Parent.Windows(1).Visible = True

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set parameters1 = part1.Parameters

Set Length1 = parameters1.Item("Test Makro\Geometrisches Set.1\Parameter 1")
objXL.Sheets("Tabelle1").Cells(4, 2) = Length1.Value

Set Length1 = parameters1.Item("Test Makro\Geometrisches Set.1\Parameter 2")
objXL.Sheets("Tabelle1").Cells(5, 2) = Length1.Value

objXL.Save

End Sub


Mich würde aber dabei interessieren was sich hinter der Zeile:
objXL.Parent.Windows(1).Visible = True
verbirgt. Ich habe gelesen dass es die Art ist wie die Datei angezeigt wird. Aber was sich im Detail drunter verbirgt konnte ich nicht rausbekommen.

Gruß

Connor

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

Tapani.
Mitglied



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

Beiträge: 56
Registriert: 12.05.2006

erstellt am: 18. Feb. 2008 08:57    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 Connors 10 Unities + Antwort hilfreich

Hallo Connor

mit Hilfe der Zeile:
objXL.Parent.Windows(1).Visible = True

kannst du steuern, ob das Programm, das durch objXL repräsentiert wird, auf dem Bildschirm sichtbar ist oder nicht. Wenn man Wert auf die sichtbarkeit legt und das Programm (in diesem Fall excel) von aussen über die com/activeX Schnittstelle gestartet wurde, sollte man "visible" explizit auf "true" setzen, egal um welches Programm es geht. In deinem Fall ist es aber eigentlich gar nicht nötig, excel zu sehen und du kannst "visible" getrost auch auf "false" setzen, dann flackert excel auch nicht kurzzeitig auf dem Monitor auf...

CUSee You
    Tapani

------------------
Don't take life so seriously....
it's not a permanent  condition

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



Ausbilder (m/w/d) Vermessungstechnik

Das bfw ? Unternehmen für Bildung ist einer der führenden Bildungsdienstleister in Deutschland. Als anerkannter gemeinnütziger Träger der beruflichen Aus- und Weiterbildung qualifizieren rund 2.000 Mitarbeiter*innen jährlich mehr als 45.000 Menschen an über 200 Bildungseinrichtungen bundesweit. Durch die inhaltliche Spezialisierung über unsere Tochterunternehmen und unsere Marke maxQ. begegnen wir ...

Anzeige ansehenAusbilder
Connors
Mitglied
Student

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

Beiträge: 6
Registriert: 15.02.2008

erstellt am: 19. Feb. 2008 11:49    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

Vielen Dank, hat mich weiter gebracht und versteh jetzt auch n bisl mehr!

Gruß

Connor

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