Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Mit VBScript in Excel schreiben

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:  Mit VBScript in Excel schreiben (6236 mal gelesen)
Eule
Mitglied
CAD-Berater


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

Beiträge: 34
Registriert: 11.12.2002

Catia V5 R18
ServicePack 3

erstellt am: 25. Jan. 2011 17:23    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


VBScriptmitExcelBefehl.PNG

 
Hallo, ich versuche einen Wert aus CATIA in eine vorhandene Excel-Datei hineinzuschreiben. Jedoch bringt mir CATIA eine Fehlermeldung "unbekannter Laufzeitfehler" bei der Zeile Excel.Sheets("Ergebniswerte")...
"Ergebniswerte" ist der Name des Sheet 1 der Excel-Datei, welches ich so umbenannt habe.
Das kurze Script habe ich angefügt. Über Anregungen wäre ich dankbar. Bin nicht fündig geworden im Netz.
Gruß,
Eule

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 25. Jan. 2011 18:04    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 Eule 10 Unities + Antwort hilfreich

Servus
Fehlt da nicht die Angabe des Workbook? zB
Code:
Set oWorkbook = Excel.Workbooks.Open "C:\Test.xls"
oWorkbook.sheets.item("Ergebniswerte").Range("A1").Value=Zminus

Gruß
Bernd

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

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

Eule
Mitglied
CAD-Berater


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

Beiträge: 34
Registriert: 11.12.2002

Catia V5 R18
ServicePack 3

erstellt am: 26. Jan. 2011 11:20    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


VBScriptmitExcelBefehl2.PNG


VBScriptFehlermeldung1.PNG

 
Hallo Bernd, danke habe ich ausprobiert, aber dann kommt angehängte Fehlermeldung.
MfG Eule

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

ptit.tom
Mitglied
CAD-Berater


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

Beiträge: 114
Registriert: 11.02.2005

win10, CATIA R19 bis R30

erstellt am: 26. Jan. 2011 11:33    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 Eule 10 Unities + Antwort hilfreich

Hallo,

Du (bzw. bgrittmann) hast die Klammern () für die Methode Open vergessen:

Code:

Set oWorkbook = Excel.Workbooks.Open("C:\Test.xls")

[Diese Nachricht wurde von ptit.tom am 26. Jan. 2011 editiert.]

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Jan. 2011 12: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 Nur für Eule 10 Unities + Antwort hilfreich

Servus
@ptit.tom: Danke. Ich hatte das nur so (ohne zu testen) nach "Gefühl" geschrieben.

Gruß
Bernd

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

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

Eule
Mitglied
CAD-Berater


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

Beiträge: 34
Registriert: 11.12.2002

Catia V5 R18
ServicePack 3

erstellt am: 27. Jan. 2011 14:16    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 Bernd,

nach dem Einfügen der Klammern funktioniert der open Befehl, aber
das ursprüngliche Problem ist geblieben. Ich kann nichts nach Excel
schreiben, weil das Script mit der Meldung "unbekannter Laufzeitfehler"
jetzt bei der Zeile oWorkbook.sheets.item("Ergebniswerte")... abbricht.

Gruß,
Eule

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Jan. 2011 14:36    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 Eule 10 Unities + Antwort hilfreich

Servus
Dieser Code:
Code:
Sub test()

Dim oExcel As Excel.Application

Set oExcel = CreateObject("Excel.Application")

Dim oWorkbook As Workbook

Set oWorkbook = oExcel.Workbooks.Open("I:\test.xls")

oWorkbook.Sheets.Item(1).Range("A1") = 15

oWorkbook.Save

oWorkbook.Close

Set oExcel = Nothing

End Sub



läuft bei mir durch. ich hoffe dass hilft weiter.

Gruß
Bernd

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

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

Eule
Mitglied
CAD-Berater


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

Beiträge: 34
Registriert: 11.12.2002

Catia V5 R18
ServicePack 3

erstellt am: 27. Jan. 2011 17:23    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


Ergebnis.zip

 
Servus Bernd,

dieser Code läuft auch bei mir durch, wenn ich im VBScript eine Zahl als Wert hineinschreibe (z.B.: oWorkbook.Sheets.Item("Ergebniswerte").Range("A2") = 15. Sobald ich aber statt einer Zahl eine Variable schreibe, bricht das Script mit der Fehlermeldung ab. Ich habe mal die 3 zusammengehörigen Testdateien (das CATPart, die Designtable und die Excel-Datei, in die geschrieben werden soll) als Zip angefügt. Der Aufbau ist so: Wenn der Anwender eine andere Configuration aus der Designtable, welche das CATPart benutzt, auswählt, dann soll eine Reaction starten (die Reaction überwacht die Veränderung der Configuration). Die Reaction wiederum startet ein VBScript, welches im Strukturbaum abgelegt ist. An das VBScript übergibt die Reaction Parameter aus dem Parameterset "Realwerte". Diese Parameter sollen nach Excel in eine vordefinierte Excel-Datei "Ergebnis" geschrieben werden. Jedoch mag die Anweisung [oWorkbook.Sheets.Item("Ergebniswerte").Range("A2") = Fall] den Parameter "Fall" nicht (der ein Realwert ist). Die Zellen, in der Excel-Tabelle, in die geschrieben werden soll, habe ich als "Zahl" formatiert. Die gleiche Fehlermeldung mit Scriptabbruch kommt jedoch auch, wenn ich den Parameter "Fall" einfach nur in einer MessageBox ausgeben will.

Gruß,
Eule

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Jan. 2011 17: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 Eule 10 Unities + Antwort hilfreich

Servus
Was übergibst du dem Script an Variablen? Liegt es vielleicht am Typ?
Übergibst du einen Parameter (könnte dann ggf mit Zminus.Value gehen) oder einen String (ggf klappt es dann mit cStr(Zminus) )

Gruß
Bernd

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

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

Eule
Mitglied
CAD-Berater


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

Beiträge: 34
Registriert: 11.12.2002

Catia V5 R18
ServicePack 3

erstellt am: 27. Jan. 2011 18:10    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

Servus, mit Zminus.Value hat es geklappt. Vielen Dank Bernd 

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